diff --git a/include/qtext.h b/include/qtext.h index ccfbb1407..ac65fc6b3 100644 --- a/include/qtext.h +++ b/include/qtext.h @@ -49,6 +49,7 @@ struct qthdr { #define TEXT_TRUNC "Text record truncated at line %d\n" #define OUT_OF_HEADERS "Too many message types (line %d)\nAdjust N_HDR in qtext.h and recompile.\n" #define OUT_OF_MESSAGES "Too many messages in class (line %d)\nAdjust N_MSG in qtext.h and recompile.\n" +#define QLINE_TOO_LONG "Line %d too long; truncated\n" #else /***** !MAKEDEFS *****/ diff --git a/util/makedefs.c b/util/makedefs.c index 92ee31db9..773b87ac0 100644 --- a/util/makedefs.c +++ b/util/makedefs.c @@ -2423,6 +2423,14 @@ do_questtxt() SpinCursor(3); qt_line++; + if (!index(in_line, '\n')) { + /* no newline; line is longer than QTEXT_IN_SIZ-1 */ + int c; + + Fprintf(stderr, QLINE_TOO_LONG, qt_line); + /* discard the rest of the current input line */ + do { c = fgetc(ifp); } while (c != '\n' && c != EOF); + } if (qt_control(line)) do_qt_control(line); else if (qt_comment(line))