#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
#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;
struct map_entry *last;
};
+
struct http_request
{
char *cmd;
/* 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