X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=loaders.c;h=e7dbbe42228826675dd5a59af493e859cfbc9585;hb=9b09b278a7ff6910f4334e5399bdb055882274a4;hp=fa9a8910e725c0a28c867afde3ee0d35a0dca027;hpb=532fdacfbc85d23956832798e4db4b65cb12c3e8;p=privoxy.git diff --git a/loaders.c b/loaders.c index fa9a8910..e7dbbe42 100644 --- a/loaders.c +++ b/loaders.c @@ -1,4 +1,4 @@ -const char loaders_rcs[] = "$Id: loaders.c,v 1.69 2008/09/21 13:36:52 fabiankeil Exp $"; +const char loaders_rcs[] = "$Id: loaders.c,v 1.71 2009/03/04 18:24:47 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -8,7 +8,7 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.69 2008/09/21 13:36:52 fabiankeil * the list of active loaders, and to automatically * unload files that are no longer in use. * - * Copyright : Written by and Copyright (C) 2001-2007 the SourceForge + * Copyright : Written by and Copyright (C) 2001-2009 the * Privoxy team. http://www.privoxy.org/ * * Based on the Internet Junkbuster originally written @@ -35,6 +35,13 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.69 2008/09/21 13:36:52 fabiankeil * * Revisions : * $Log: loaders.c,v $ + * Revision 1.71 2009/03/04 18:24:47 fabiankeil + * No need to create empty strings manually, strdup("") FTW. + * + * Revision 1.70 2009/03/01 18:34:24 fabiankeil + * Help clang understand that we aren't dereferencing + * NULL pointers here. + * * Revision 1.69 2008/09/21 13:36:52 fabiankeil * If change-x-forwarded-for{add} is used and the client * sends multiple X-Forwarded-For headers, append the client's @@ -446,14 +453,15 @@ static struct file_list *current_re_filterfile[MAX_AF_FILES] = { * * Parameters : None * - * Returns : N/A + * Returns : The number of threads that are still active. * *********************************************************************/ -void sweep(void) +unsigned int sweep(void) { struct file_list *fl, *nfl; struct client_state *csp, *last_active; int i; + unsigned int active_threads = 0; /* clear all of the file's active flags */ for ( fl = files->next; NULL != fl; fl = fl->next ) @@ -508,10 +516,11 @@ void sweep(void) csp->tlist->active = 1; } #endif /* def FEATURE_TRUST */ - + + active_threads++; + last_active = csp; csp = csp->next; - } else /* @@ -573,6 +582,8 @@ void sweep(void) } } + return active_threads; + } @@ -873,30 +884,30 @@ jb_err edit_read_line(FILE *fp, if (raw_out) { - if ((raw = malloc(1)) == NULL) + raw = strdup(""); + if (NULL == raw) { return JB_ERR_MEMORY; } - *raw = '\0'; } if (prefix_out) { - if ((prefix = malloc(1)) == NULL) + prefix = strdup(""); + if (NULL == prefix) { freez(raw); return JB_ERR_MEMORY; } - *prefix = '\0'; } if (data_out) { - if ((data = malloc(1)) == NULL) + data = strdup(""); + if (NULL == data) { freez(raw); freez(prefix); return JB_ERR_MEMORY; } - *data = '\0'; } /* Main loop. Loop while we need more data & it's not EOF. */