*** cproto-4.4/lex.l Wed Jan 20 23:27:17 1999 --- cproto-4.4/lex.l.s-max Wed Jan 20 23:57:12 1999 *************** *** 350,356 **** { int c; int nest = 0; ! while ((c = input()) > 0) { if (c == '(') nest++; else if (c == ')') { --- 350,356 ---- { int c; int nest = 0; ! while (((c = input()) != 0) && (c != EOF)) { if (c == '(') nest++; else if (c == ')') { *************** *** 379,385 **** int len = 0; char bfr[BUFSIZ]; ! while ((c = input()) > 0) { if (len < sizeof(bfr)-1 && !isspace(c)) bfr[len++] = c; if (c == '(') --- 379,385 ---- int len = 0; char bfr[BUFSIZ]; ! while (((c = input()) != 0) && (c != EOF)) { if (len < sizeof(bfr)-1 && !isspace(c)) bfr[len++] = c; if (c == '(') *************** *** 458,463 **** --- 458,472 ---- static void save_text_offset () { + if (strlen(yytext) >= MAX_TEXT_SIZE) + { + char err[256]; + sprintf(err, "Not enough space to save text offset:\n" + "MAX_TEXT_SIZE is %d; need at least %d.", + MAX_TEXT_SIZE, strlen(yytext)); + YY_FATAL_ERROR(err); + } + (void)strcpy(yylval.text.text, yytext); #if OPT_LINTLIBRARY copy_typedef(yytext); *************** *** 576,585 **** #if defined(FLEX_SCANNER) || !defined(YYLMAX) put_quoted(delim); #endif ! while ((c = input()) != 0) { if (c == '\\') { put_quoted(c); ! if ((c = input()) == 0) break; put_quoted(c); } else { --- 585,594 ---- #if defined(FLEX_SCANNER) || !defined(YYLMAX) put_quoted(delim); #endif ! while (((c = input()) != 0) && (c != EOF)) { if (c == '\\') { put_quoted(c); ! if (((c = input()) == 0) || (c == EOF)) break; put_quoted(c); } else { *************** *** 614,620 **** cmtVal.preproz = 0; #endif ! while ((c = input()) != 0) { if (cur_file->convert) fputc(c, cur_file->tmp_file); --- 623,629 ---- cmtVal.preproz = 0; #endif ! while (((c = input()) != 0) && (c != EOF)) { if (cur_file->convert) fputc(c, cur_file->tmp_file); *************** *** 694,700 **** if (dest != NULL) *dest = '\0'; ! while ((c = input()) != 0) { if (cur_file->convert) fputc(c, cur_file->tmp_file); --- 703,709 ---- if (dest != NULL) *dest = '\0'; ! while (((c = input()) != 0) && (c != EOF)) { if (cur_file->convert) fputc(c, cur_file->tmp_file);