Fixed bug in popup-killing for the first read that caused binary garbage to be sent...
authoroes <oes@users.sourceforge.net>
Mon, 23 Jul 2001 13:26:12 +0000 (13:26 +0000)
committeroes <oes@users.sourceforge.net>
Mon, 23 Jul 2001 13:26:12 +0000 (13:26 +0000)
jcc.c

diff --git a/jcc.c b/jcc.c
index 9f3083d..9deb39d 100644 (file)
--- a/jcc.c
+++ b/jcc.c
@@ -1,4 +1,4 @@
-const char jcc_rcs[] = "$Id: jcc.c,v 1.26 2001/07/18 12:31:36 oes Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.27 2001/07/19 19:09:47 haroon Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/jcc.c,v $
@@ -33,6 +33,17 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.26 2001/07/18 12:31:36 oes Exp $";
  *
  * Revisions   :
  *    $Log: jcc.c,v $
+ *    Revision 1.27  2001/07/19 19:09:47  haroon
+ *    - Added code to take care of the situation where while processing the first
+ *      server response (which includes the server header), after finding the end
+ *      of the headers we were not looking past the end of the headers for
+ *      content modification. I enabled it for filter_popups.
+ *      Someone else should look to see if other similar operations should be
+ *      done to the discarded portion of the buffer.
+ *
+ *      Note 2001/07/20: No, the other content modification mechanisms will process
+ *                       the whole iob later anyway. --oes
+ *
  *    Revision 1.26  2001/07/18 12:31:36  oes
  *    cosmetics
  *
@@ -992,11 +1003,10 @@ static void chat(struct client_state *csp)
             {
                block_popups_now = 1;
                /*
-                    * even though the header has been found, don't forget about the
-                    * left over portion of the buffer which will usually contain body text
-                    */
-               n = strlen(csp->iob->cur);
-               filter_popups(csp->iob->cur, n);
+                * Filter the part of the body that came in the same read
+                * as the last headers:
+                */
+               filter_popups(csp->iob->cur, csp->iob->eod - csp->iob->cur);
             }
 
 #endif /* def KILLPOPUPS */