summaryrefslogtreecommitdiff
path: root/yylex.c
diff options
context:
space:
mode:
authorVern Paxson <vern@ee.lbl.gov>1990-01-16 10:29:10 +0000
committerVern Paxson <vern@ee.lbl.gov>1990-01-16 10:29:10 +0000
commit7d51e0e6deb415cd50ec6a909586423f3fc0f7ce (patch)
treed5952bb6302db01aea011c5037e7828c13ce1591 /yylex.c
parentf61a9c1928cd6229d1560a5d6a16ef01efe9bcb1 (diff)
8-bit char support.
2.2 Release.
Diffstat (limited to 'yylex.c')
-rw-r--r--yylex.c41
1 files changed, 5 insertions, 36 deletions
diff --git a/yylex.c b/yylex.c
index 2e1cead..ea12936 100644
--- a/yylex.c
+++ b/yylex.c
@@ -35,6 +35,7 @@ static char rcsid[] =
#endif
+#include <ctype.h>
#include "flexdef.h"
#include "parse.h"
@@ -175,43 +176,11 @@ int yylex()
fprintf( stderr, "\\%c", yylval );
break;
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- case 24:
- case 25:
- case 26:
- case 27:
- case 28:
- case 29:
- case 30:
- case 31:
- case 127:
- fprintf( stderr, "\\%.3o", yylval );
- break;
-
default:
- (void) putc( yylval, stderr );
+ if ( ! isascii( yylval ) || ! isprint( yylval ) )
+ fprintf( stderr, "\\%.3o", yylval );
+ else
+ (void) putc( yylval, stderr );
break;
}