diff --git a/src/modules/spider/spider.c b/src/modules/spider/spider.c index 58b739c72ef28905a2b9d47be4459f4c496a5b16..4afd0874705f6d7f628c26cdc34e17863676cdad 100644 --- a/src/modules/spider/spider.c +++ b/src/modules/spider/spider.c @@ -43,7 +43,7 @@ #include "threads.h" #include "operators.h" -RCSID("$Id: spider.c,v 1.116 2002/09/11 22:42:13 neotron Exp $"); +RCSID("$Id: spider.c,v 1.117 2002/09/12 17:58:50 neotron Exp $"); #ifdef HAVE_PWD_H #include <pwd.h> @@ -790,6 +790,7 @@ void do_html_parse(struct pike_string *ss, pop_stack(); \ } while(0) +static struct svalue empty_string_svalue; void do_html_parse_lines(struct pike_string *ss, struct mapping *cont,struct mapping *single, int *strings,int recurse_left, @@ -909,7 +910,7 @@ void do_html_parse_lines(struct pike_string *ss, mapping_index_no_free(&sval1,cont,&sval2); if(sval1.type == T_INT) - mapping_index_no_free(&sval1,cont,&empty_pike_string); + mapping_index_no_free(&sval1,cont,&empty_string_svalue); if (sval1.type==T_STRING) { if (last < i-1) @@ -1091,6 +1092,8 @@ void f__dump_obj_table(INT32 args) void pike_module_init(void) { + ref_push_string(make_shared_string("")); + empty_string_svalue = sp[-1]; pop_stack(); ADD_EFUN("_low_program_name", f__low_program_name,tFunc(tPrg(tObj),tStr),0); @@ -1169,6 +1172,7 @@ void pike_module_init(void) void pike_module_exit(void) { + free_string(empty_string_svalue.u.string); { extern void exit_xml(void); exit_xml();