-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 $
* 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
*
* 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
*
* 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 )
csp->tlist->active = 1;
}
#endif /* def FEATURE_TRUST */
-
+
+ active_threads++;
+
last_active = csp;
csp = csp->next;
-
}
else
/*
}
}
+ return active_threads;
+
}
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. */