From 2c9f09e8fb92d722a6668eb6b8cad2241f70450e Mon Sep 17 00:00:00 2001
From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org>
Date: Thu, 11 Mar 1999 10:59:52 +0100
Subject: [PATCH] works better

Rev: src/modules/Parser/html.c:1.4
---
 src/modules/Parser/html.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/modules/Parser/html.c b/src/modules/Parser/html.c
index fa6b628342..5bde1ecd36 100644
--- a/src/modules/Parser/html.c
+++ b/src/modules/Parser/html.c
@@ -24,6 +24,8 @@
 #define DEBUG(X) do; while(0)
 #endif
 
+#define free(X) fprintf(stderr,"free line %d: %p\n",__LINE__,X); free(X)
+
 #define MAX_FEED_STACK_DEPTH 10
 
 struct location
@@ -445,6 +447,8 @@ static int scan_forward(struct piece *feed,
 	 {
 	    int ce=feed->s->len-c;
 	    p_wchar2 f=*look_for;
+	    fprintf(stderr,"%p:%d .. %p:%d (%d)\n",
+		    feed,c,feed,feed->s->len,ce);
 	    switch (feed->s->size_shift)
 	    {
 	       case 0:
@@ -485,6 +489,7 @@ static int scan_forward(struct piece *feed,
 		  error("unknown width of string\n");
 	    }
 	    if (!feed->next) break;
+	    c=0;
 	    feed=feed->next;
 	 }
 	 break;
@@ -547,6 +552,7 @@ static int scan_forward(struct piece *feed,
 		  error("unknown width of string\n");
 	    }
 	    if (!feed->next) break;
+	    c=0;
 	    feed=feed->next;
 	 }
 	 break;
@@ -839,6 +845,10 @@ static void html_feed(INT32 args)
 {
    struct piece *f;
 
+   DEBUG((stderr,"feed %d chars\n",
+	  (args&&sp[-args].type==T_STRING)?
+	  sp[-args].u.string->len:-1));
+
    if (args)
    {
       if (sp[-args].type!=T_STRING)
@@ -1005,7 +1015,7 @@ void html__inspect(INT32 args)
 
       while (f)
       {
-	 push_string(f->s);
+	 ref_push_string(f->s);
 	 p++;
 	 f=f->next;
       }
@@ -1043,7 +1053,7 @@ void html__inspect(INT32 args)
    f=THIS->out;
    while (f)
    {
-      push_string(f->s);
+      ref_push_string(f->s);
       p++;
       f=f->next;
    }
-- 
GitLab