version 1.14, 1994/02/21 16:53:15
|
version 1.15, 1994/02/24 09:27:51
|
Line 294 PUBLIC void SGML_free ARGS1(HTStream *,
|
Line 294 PUBLIC void SGML_free ARGS1(HTStream *,
|
{ |
{ |
int cnt; |
int cnt; |
|
|
|
while (context->element_stack) { /* Make sure, that all tags are gone */ |
|
HTElement *ptr = context->element_stack; |
|
|
|
if(TRACE) fprintf(stderr, "SGML: Non-matched tag found: <%s>\n", |
|
context->element_stack->tag->name); |
|
context->element_stack = ptr->next; |
|
free(ptr); |
|
} |
(*context->actions->free)(context->target); |
(*context->actions->free)(context->target); |
HTChunkFree(context->string); |
HTChunkFree(context->string); |
for(cnt=0; cnt<MAX_ATTRIBUTES; cnt++) /* Leak fix Henrik 18/02-94 */ |
for(cnt=0; cnt<MAX_ATTRIBUTES; cnt++) /* Leak fix Henrik 18/02-94 */ |
if(context->value[cnt]) |
if(context->value[cnt]) |
free(context->value[cnt]); |
free(context->value[cnt]); |
free(context); |
free(context); |
Line 306 PUBLIC void SGML_abort ARGS2(HTStream *
|
Line 314 PUBLIC void SGML_abort ARGS2(HTStream *
|
{ |
{ |
int cnt; |
int cnt; |
|
|
|
while (context->element_stack) { /* Make sure, that all tags are gone */ |
|
HTElement *ptr = context->element_stack; |
|
|
|
if(TRACE) fprintf(stderr, "SGML: Non-matched tag found: <%s>\n", |
|
context->element_stack->tag->name); |
|
context->element_stack = ptr->next; |
|
free(ptr); |
|
} |
(*context->actions->abort)(context->target, e); |
(*context->actions->abort)(context->target, e); |
HTChunkFree(context->string); |
HTChunkFree(context->string); |
for(cnt=0; cnt<MAX_ATTRIBUTES; cnt++) /* Leak fix Henrik 18/02-94 */ |
for(cnt=0; cnt<MAX_ATTRIBUTES; cnt++) /* Leak fix Henrik 18/02-94 */ |