diff --git a/src/language.yacc b/src/language.yacc index 0ccc0def67991c1d3649d06bc82f3b94078d40eb..99d596f642035a1d12445e9c8a8d062c8b66442f 100644 --- a/src/language.yacc +++ b/src/language.yacc @@ -156,7 +156,7 @@ /* This is the grammar definition of Pike. */ #include "global.h" -RCSID("$Id: language.yacc,v 1.25 1997/02/18 05:13:34 hubbe Exp $"); +RCSID("$Id: language.yacc,v 1.26 1997/03/01 02:37:01 hubbe Exp $"); #ifdef HAVE_MEMORY_H #include <memory.h> #endif @@ -1130,9 +1130,9 @@ idents: low_idents { $$=index_node($1, $3); free_node($1); - free_string($3); - free_string(last_identifier); + if(last_identifier) free_string(last_identifier); copy_shared_string(last_identifier, $3); + free_string($3); } ; diff --git a/src/las.c b/src/las.c index b77a10cd87edec3f806ba6962508787cf07a3ae1..4f04ed18e0cd108a8dcafe38608438038be5ed5c 100644 --- a/src/las.c +++ b/src/las.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: las.c,v 1.27 1997/02/27 11:23:22 hubbe Exp $"); +RCSID("$Id: las.c,v 1.28 1997/03/01 02:37:03 hubbe Exp $"); #include "language.h" #include "interpret.h" @@ -508,6 +508,8 @@ node *index_node(node *n, struct pike_string * id) case T_STRING: case T_ARRAY: yyerror("Failed to index module (Not a module?)"); + pop_stack(); + push_int(0); break; default: