X-Git-Url: http://ncurses.scripts.mit.edu/?a=blobdiff_plain;f=ncurses%2Ftinfo%2Fcomp_scan.c;h=8725b2edb7ebcd73a974d0c452f55a20077dcc56;hb=f86cbeb5f9bd96ab041d34039c35749a14965039;hp=28ae9e4e87135293679765a375ca1861bab363c4;hpb=c6540b9c89dda1a6a8bd681726831e8924176504;p=ncurses.git diff --git a/ncurses/tinfo/comp_scan.c b/ncurses/tinfo/comp_scan.c index 28ae9e4e..8725b2ed 100644 --- a/ncurses/tinfo/comp_scan.c +++ b/ncurses/tinfo/comp_scan.c @@ -50,7 +50,7 @@ #include #include -MODULE_ID("$Id: comp_scan.c,v 1.86 2010/01/23 17:13:15 tom Exp $") +MODULE_ID("$Id: comp_scan.c,v 1.89 2010/12/25 23:06:37 tom Exp $") /* * Maximum length of string capability we'll accept before raising an error. @@ -203,6 +203,10 @@ next_char(void) if (fgets(result + used, (int) (allocated - used), yyin) != 0) { bufstart = result; if (used == 0) { + if (_nc_curr_line == 0 + && IS_TIC_MAGIC(result)) { + _nc_err_abort("This is a compiled terminal description, not a source"); + } _nc_curr_line++; _nc_curr_col = 0; } @@ -479,7 +483,6 @@ _nc_get_token(bool silent) if (OkToAdd()) { AddCh(ch); } else { - ch = EOF; break; } } @@ -609,7 +612,7 @@ _nc_get_token(bool silent) _nc_warning("Missing separator"); } _nc_curr_token.tk_name = tok_buf; - _nc_curr_token.tk_valnumber = number; + _nc_curr_token.tk_valnumber = (int) number; type = NUMBER; break;