SCCS-vsn: usr.bin/yacc/reader.c 5.3
-static char sccsid[] = "@(#)reader.c 5.2 (Berkeley) %G%";
+static char sccsid[] = "@(#)reader.c 5.3 (Berkeley) %G%";
#endif /* not lint */
#include "defs.h"
#endif /* not lint */
#include "defs.h"
char *cache;
int cinc, cache_size;
char *cache;
int cinc, cache_size;
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
n = c - '0';
case '0': case '1': case '2': case '3':
case '4': case '5': case '6': case '7':
n = c - '0';
if (IS_OCTAL(c))
{
n = (n << 3) + (c - '0');
if (IS_OCTAL(c))
{
n = (n << 3) + (c - '0');
if (IS_OCTAL(c))
{
n = (n << 3) + (c - '0');
if (IS_OCTAL(c))
{
n = (n << 3) + (c - '0');
illegal_character(c_cptr);
for (;;)
{
illegal_character(c_cptr);
for (;;)
{
i = hexval(c);
if (i < 0 || i >= 16) break;
i = hexval(c);
if (i < 0 || i >= 16) break;
n = (n << 4) + i;
if (n > MAXCHAR) illegal_character(c_cptr);
}
n = (n << 4) + i;
if (n > MAXCHAR) illegal_character(c_cptr);
}
case '\t': cachec('t'); break;
case '\v': cachec('v'); break;
default:
case '\t': cachec('t'); break;
case '\v': cachec('v'); break;
default:
- cachec(c >> 6);
- cachec((c >> 3) & 7);
- cachec(c & 7);
+ cachec(((c >> 6) & 7) + '0');
+ cachec(((c >> 3) & 7) + '0');
+ cachec((c & 7) + '0');