From: Keith J. <bu...@us...> - 2002-08-23 19:01:38
|
Update of /cvsroot/cup-language/cup/src/compiler In directory usw-pr-cvs1:/tmp/cvs-serv2890/compiler Modified Files: parser.y Log Message: Won't crash if cup_callback_include returns NULL now :) Index: parser.y =================================================================== RCS file: /cvsroot/cup-language/cup/src/compiler/parser.y,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** parser.y 22 Aug 2002 14:15:53 -0000 1.13 --- parser.y 23 Aug 2002 19:01:34 -0000 1.14 *************** *** 542,546 **** const char *oldsrc, *oldfname; unsigned long oldplace, oldline; ! bool ret; oldsrc = comp->source; --- 542,546 ---- const char *oldsrc, *oldfname; unsigned long oldplace, oldline; ! bool ret = TRUE; oldsrc = comp->source; *************** *** 550,561 **** comp->source = cup_callback_include(comp->data, filename); comp->filename = filename; comp->place = 0; comp->line = 1; ! if (yyparse(comp) != 1) ! ret = TRUE; ! else ! ret = FALSE; comp->source = oldsrc; --- 550,569 ---- comp->source = cup_callback_include(comp->data, filename); + if (!comp->source) + { + cupc_tb(comp, "cupc_include()", "include source not found"); + ret = FALSE; + } comp->filename = filename; comp->place = 0; comp->line = 1; ! if (ret) ! { ! if (yyparse(comp) != 1) ! ret = TRUE; ! else ! ret = FALSE; ! } comp->source = oldsrc; |