]> granicus.if.org Git - flex/commitdiff
Added check_char()
authorVern Paxson <vern@ee.lbl.gov>
Mon, 5 Jul 1993 21:31:46 +0000 (21:31 +0000)
committerVern Paxson <vern@ee.lbl.gov>
Mon, 5 Jul 1993 21:31:46 +0000 (21:31 +0000)
ccl.c
misc.c

diff --git a/ccl.c b/ccl.c
index 77adfaee3dd168a4d6b3aa159c6b01fb00654315..2929fb936b66cf047416702c6a72dc82473dcbb3 100644 (file)
--- a/ccl.c
+++ b/ccl.c
@@ -41,6 +41,8 @@ int ch;
        {
        int ind, len, newpos, i;
 
+       check_char( ch );
+
        len = ccllen[cclp];
        ind = cclmap[cclp];
 
@@ -121,7 +123,6 @@ void list_character_set( file, cset )
 FILE *file;
 int cset[];
        {
-       char *readable_form();
        register int i;
 
        putc( '[', file );
diff --git a/misc.c b/misc.c
index bb77474ea1e8fecfc50fa91f12b61a44db7131f0..abb60186ef5c90808b66333c6815475c53caf876 100644 (file)
--- a/misc.c
+++ b/misc.c
@@ -154,6 +154,24 @@ int v[], n;
        }
 
 
+/* check_char - checks a character to make sure it's within the range
+ *             we're expecting.  If not, generates fatal error message
+ *             and exits.
+ */
+
+void check_char( int c )
+       {
+       if ( c >= CSIZE )
+               lerrsf( "bad character '%s' detected in check_char()",
+                       readable_form( c ) );
+
+       if ( c >= csize )
+               lerrsf( "scanner requires -8 flag to use the character '%s'",
+                       readable_form( c ) );
+       }
+
+
+
 /* clower - replace upper-case letter to lower-case */
 
 Char clower( c )