Change sed() to return a jb_err in preparation for forward-override{}.
authorFabian Keil <fk@fabiankeil.de>
Fri, 1 Jun 2007 16:31:55 +0000 (16:31 +0000)
committerFabian Keil <fk@fabiankeil.de>
Fri, 1 Jun 2007 16:31:55 +0000 (16:31 +0000)
parsers.c
parsers.h

index 1eec597..950e9c2 100644 (file)
--- a/parsers.c
+++ b/parsers.c
@@ -1,4 +1,4 @@
-const char parsers_rcs[] = "$Id: parsers.c,v 1.101 2007/05/14 10:16:41 fabiankeil Exp $";
+const char parsers_rcs[] = "$Id: parsers.c,v 1.102 2007/05/27 12:39:32 fabiankeil Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/parsers.c,v $
@@ -44,6 +44,9 @@ const char parsers_rcs[] = "$Id: parsers.c,v 1.101 2007/05/14 10:16:41 fabiankei
  *
  * Revisions   :
  *    $Log: parsers.c,v $
+ *    Revision 1.102  2007/05/27 12:39:32  fabiankeil
+ *    Adjust "X-Filter: No" to disable dedicated header filters.
+ *
  *    Revision 1.101  2007/05/14 10:16:41  fabiankeil
  *    Streamline client_cookie_adder().
  *
@@ -1446,13 +1449,13 @@ jb_err scan_headers(struct client_state *csp)
  *                headers (client or server)
  *          3  :  csp = Current client state (buffers, headers, etc...)
  *
- * Returns     :  Single pointer to a fully formed header, or NULL
- *                on out-of-memory error.
+ * Returns     :  JB_ERR_OK in case off success, or
+ *                JB_ERR_MEMORY on out-of-memory error.
  *
  *********************************************************************/
-char *sed(const struct parsers pats[],
-          const add_header_func_ptr more_headers[],
-          struct client_state *csp)
+jb_err sed(const struct parsers pats[],
+           const add_header_func_ptr more_headers[],
+           struct client_state *csp)
 {
    struct list_entry *p;
    const struct parsers *v;
@@ -1516,12 +1519,7 @@ char *sed(const struct parsers pats[],
       }
    }
 
-   if (err != JB_ERR_OK)
-   {
-      return NULL;
-   }
-
-   return list_to_text(csp->headers);
+   return err;
 }
 
 
index 1ebb45a..87cb069 100644 (file)
--- a/parsers.h
+++ b/parsers.h
@@ -1,6 +1,6 @@
 #ifndef PARSERS_H_INCLUDED
 #define PARSERS_H_INCLUDED
-#define PARSERS_H_VERSION "$Id: parsers.h,v 1.37 2007/03/20 15:22:17 fabiankeil Exp $"
+#define PARSERS_H_VERSION "$Id: parsers.h,v 1.38 2007/03/25 14:27:11 fabiankeil Exp $"
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/parsers.h,v $
  *
  * Revisions   :
  *    $Log: parsers.h,v $
+ *    Revision 1.38  2007/03/25 14:27:11  fabiankeil
+ *    Let parse_header_time() return a jb_err code
+ *    instead of a pointer that can only be used to
+ *    check for NULL anyway.
+ *
  *    Revision 1.37  2007/03/20 15:22:17  fabiankeil
  *    - Remove filter_client_header() and filter_client_header(),
  *      filter_header() now checks the shiny new
@@ -254,7 +259,7 @@ extern jb_err add_to_iob(struct client_state *csp, char *buf, int n);
 extern jb_err decompress_iob(struct client_state *csp);
 extern char *get_header(struct client_state *csp);
 extern char *get_header_value(const struct list *header_list, const char *header_name);
-extern char *sed(const struct parsers pats[], const add_header_func_ptr more_headers[], struct client_state *csp);
+extern jb_err sed(const struct parsers pats[], const add_header_func_ptr more_headers[], struct client_state *csp);
 extern void get_http_time(int time_offset, char *buf);
 extern jb_err parse_header_time(const char *header_time, time_t *result);
 extern jb_err get_destination_from_headers(const struct list *headers, struct http_request *http);
@@ -262,7 +267,7 @@ extern jb_err get_destination_from_headers(const struct list *headers, struct ht
 /* XXX: Why do we export these anyway? */
 extern jb_err crumble                (struct client_state *csp, char **header);
 extern jb_err connection             (struct client_state *csp, char **header);
-extern jb_err filter_header           (struct client_state *csp, char **header);
+extern jb_err filter_header          (struct client_state *csp, char **header);
 
 extern jb_err client_referrer        (struct client_state *csp, char **header);
 extern jb_err client_uagent          (struct client_state *csp, char **header);