|
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;
|