Somehow I managed to lose the license and style information. Doh!
[privoxy.git] / project.h
index c1770d4..ff5b8fa 100644 (file)
--- a/project.h
+++ b/project.h
@@ -1,6 +1,6 @@
 #ifndef PROJECT_H_INCLUDED
 #define PROJECT_H_INCLUDED
-#define PROJECT_H_VERSION "$Id: project.h,v 1.29 2001/09/13 23:29:43 jongfoster Exp $"
+#define PROJECT_H_VERSION "$Id: project.h,v 1.32 2001/09/16 23:02:51 jongfoster Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/project.h,v $
  *
  * Revisions   :
  *    $Log: project.h,v $
+ *    Revision 1.32  2001/09/16 23:02:51  jongfoster
+ *    Fixing warning
+ *
+ *    Revision 1.31  2001/09/16 13:20:29  jongfoster
+ *    Rewrite of list library.  Now has seperate header and list_entry
+ *    structures.  Also added a large sprinking of assert()s to the list
+ *    code.
+ *
+ *    Revision 1.30  2001/09/13 23:52:00  jongfoster
+ *    Support for both static and dynamically generated CGI pages
+ *
  *    Revision 1.29  2001/09/13 23:29:43  jongfoster
  *    Defining FORWARD_SPEC_INITIALIZER
  *
 extern "C" {
 #endif
 
-#define freez(X)  if(X) free(X); X = NULL
+#define freez(X)  { if(X) { free(X); X = NULL ; } }
 
 #define BUFFER_SIZE 5000
 
@@ -307,17 +318,29 @@ extern "C" {
 #define HADDR_PORT      8000
 
 
+/* Forward defs for various structures */
+
 /* Need this for struct client_state */
 struct configuration_spec;
 
+
 /* Generic linked list of strings */
-struct list /* FIXME: Why not separate entries and header? */
+
+struct list_entry
 {
-   char *       str;  /* valid in an entry */
-   struct list *last; /* valid in header */
-   struct list *next;
+   const char *str;
+   struct list_entry *next;
 };
 
+struct list
+{
+   struct list_entry *first;
+   struct list_entry *last;
+};
+
+
+/* A map from a string to another string */
+
 struct map_entry
 {
    const char *name;
@@ -331,6 +354,7 @@ struct map
    struct map_entry *last;
 };
 
+
 struct http_request
 {
    char *cmd;
@@ -702,7 +726,7 @@ struct forward_spec
    /* For the linked list */
    struct forward_spec *next;
 };
-#define FORWARD_SPEC_INITIALIZER { URL_SPEC_INITIALIZER, 0, NULL, 0, NULL, 0, NULL }
+#define FORWARD_SPEC_INITIALIZER { { URL_SPEC_INITIALIZER }, 0, NULL, 0, NULL, 0, NULL }
 
 
 struct re_filterfile_spec