X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=jcc.c;h=630aedaed673564abd91d96f84aefadf2947e079;hb=536435bf44c5129406aa55ea4ab7ac1dcb07b39e;hp=9f3083da3312a4f43a81848501da548fa14c73d5;hpb=91c86adc3529786a8db3bdf9f84bcf908b54a3fb;p=privoxy.git diff --git a/jcc.c b/jcc.c index 9f3083da..630aedae 100644 --- 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.30 2001/07/25 22:57:13 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,28 @@ 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.30 2001/07/25 22:57:13 jongfoster + * __BEOS__ no longer overrides FEATURE_PTHREAD. + * This is because FEATURE_PTHREAD will soon be widely used, so I + * want to keep it simple. + * + * Revision 1.29 2001/07/24 12:47:06 oes + * Applied BeOS support update by Eugenia + * + * Revision 1.28 2001/07/23 13:26:12 oes + * Fixed bug in popup-killing for the first read that caused binary garbage to be sent between headers and body + * + * 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 +1014,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 */ @@ -1372,6 +1393,7 @@ static void listen_loop(void) pthread_attr_t attrs; pthread_attr_init(&attrs); + pthread_attr_setdetachstate(&attrs, PTHREAD_CREATE_DETACHED); child_id = (pthread_create(&the_thread, &attrs, (void*)serve, csp) ? -1 : 0); pthread_attr_destroy(&attrs);