fixed bug with character constants

This commit is contained in:
eck 1990-02-01 13:09:40 +00:00
parent 0c5cce9a96
commit 197379a33a

View file

@ -351,15 +351,15 @@ char_constant(nm)
if (ch == '\\')
ch = quoted(GetChar());
if (ch >= 128) ch -= 256;
if (size < (int)size)
val |= ch << 8 * size;
if (size < sizeof(arith))
val |= ch << (8 * size);
size++;
ch = GetChar();
}
if (size > 1)
strict("%s constant includes more than one character", nm);
if (size > sizeof(arith))
error("%s constant too long", nm);
else if (size > 1)
strict("%s constant includes more than one character", nm);
return val;
}
@ -441,8 +441,7 @@ quoted(ch)
ch = hex;
}
}
}
else { /* a quoted octal */
} else { /* a quoted octal */
register int oct = 0, cnt = 0;
do {