1
0
mirror of https://git.savannah.gnu.org/git/gperf.git synced 2025-12-02 13:09:22 +00:00

Provoke a compilation error if the execution character set doesn't match the

expectations.
This commit is contained in:
Bruno Haible
2003-04-28 10:08:35 +00:00
parent d267e31dea
commit 16e10a330c
19 changed files with 438 additions and 3 deletions

View File

@@ -698,6 +698,7 @@ Input::read_input ()
Keyword_List **list_tail = &_head;
const char *delimiters = option.get_delimiters ();
unsigned int lineno = keywords_lineno;
bool charset_dependent = false;
for (const char *line = keywords; line < keywords_end; )
{
const char *line_end;
@@ -797,34 +798,42 @@ Input::read_input ()
case '\\': case '\'': case '"':
*kp = c;
lp++;
charset_dependent = true;
break;
case 'n':
*kp = '\n';
lp++;
charset_dependent = true;
break;
case 't':
*kp = '\t';
lp++;
charset_dependent = true;
break;
case 'r':
*kp = '\r';
lp++;
charset_dependent = true;
break;
case 'f':
*kp = '\f';
lp++;
charset_dependent = true;
break;
case 'b':
*kp = '\b';
lp++;
charset_dependent = true;
break;
case 'a':
*kp = '\a';
lp++;
charset_dependent = true;
break;
case 'v':
*kp = '\v';
lp++;
charset_dependent = true;
break;
default:
fprintf (stderr, "%s:%u: invalid escape sequence"
@@ -839,6 +848,7 @@ Input::read_input ()
{
*kp = c;
lp++;
charset_dependent = true;
}
kp++;
}
@@ -901,6 +911,8 @@ Input::read_input ()
}
lp++;
}
if (keyword_length > 0)
charset_dependent = true;
}
/* Allocate Keyword and add it to the list. */
@@ -922,6 +934,8 @@ Input::read_input ()
pretty_input_file_name ());
exit (1);
}
_charset_dependent = charset_dependent;
}
/* To be freed in the destructor. */