- Fixed add_help_link to link to the (now split) actions
[privoxy.git] / cgi.c
diff --git a/cgi.c b/cgi.c
index 0cc7fe4..ad4768d 100644 (file)
--- a/cgi.c
+++ b/cgi.c
@@ -1,4 +1,4 @@
-const char cgi_rcs[] = "$Id: cgi.c,v 1.64 2002/04/24 02:17:21 oes Exp $";
+const char cgi_rcs[] = "$Id: cgi.c,v 1.68 2002/05/12 21:36:29 jongfoster Exp $";
 /*********************************************************************
  *
  * File        :  $Source: /cvsroot/ijbswa/current/cgi.c,v $
@@ -38,6 +38,20 @@ const char cgi_rcs[] = "$Id: cgi.c,v 1.64 2002/04/24 02:17:21 oes Exp $";
  *
  * Revisions   :
  *    $Log: cgi.c,v $
+ *    Revision 1.68  2002/05/12 21:36:29  jongfoster
+ *    Correcting function comments
+ *
+ *    Revision 1.67  2002/04/30 12:02:07  oes
+ *    Nit: updated a comment
+ *
+ *    Revision 1.66  2002/04/26 18:32:57  jongfoster
+ *    Fixing a memory leak on error
+ *
+ *    Revision 1.65  2002/04/26 12:53:51  oes
+ *     - New function add_help_link
+ *     - default_exports now exports links to the user manual
+ *       and a prefix for links into the config chapter
+ *
  *    Revision 1.64  2002/04/24 02:17:21  oes
  *     - Better descriptions for CGIs
  *     - Hide edit-actions, more shortcuts
@@ -574,7 +588,7 @@ static struct map *parse_cgi_parameters(char *argstring);
  * Description :  Checks if a request URL has either the magical
  *                hostname CGI_SITE_1_HOST (usually http://p.p/) or
  *                matches CGI_SITE_2_HOST CGI_SITE_2_PATH (usually
- *                http://ijbswa.sourceforge.net/config). If so, it passes
+ *                http://config.privoxy.org/). If so, it passes
  *                the (rest of the) path onto dispatch_known_cgi, which
  *                calls the relevant CGI handler function.
  *
@@ -746,7 +760,7 @@ static struct http_response *dispatch_known_cgi(struct client_state * csp,
  *                pairs and store them in a struct map list.
  *
  * Parameters  :
- *          1  :  string = string to be parsed.  Will be trashed.
+ *          1  :  argstring = string to be parsed.  Will be trashed.
  *
  * Returns     :  pointer to param list, or NULL if out of memory.
  *
@@ -1097,14 +1111,10 @@ void cgi_init_error_messages(void)
  * Description :  Called if a CGI function runs out of memory.
  *                Returns a statically-allocated error response.
  *
- * Parameters  :
- *          1  :  csp = Current client state (buffers, headers, etc...)
- *          2  :  rsp = http_response data structure for output
- *          3  :  template_name = Name of template that could not
- *                                be loaded.
+ * Parameters  :  N/A
  *
- * Returns     :  JB_ERR_OK on success
- *                JB_ERR_MEMORY on out-of-memory error.  
+ * Returns     :  http_response data structure for output.  This is
+ *                statically allocated, for obvious reasons.
  *
  *********************************************************************/
 struct http_response *cgi_error_memory(void)
@@ -1234,28 +1244,32 @@ jb_err cgi_error_bad_param(struct client_state *csp,
  *
  * Description :  Produce a copy of the string given as item,
  *                embedded in an HTML link to its corresponding
- *                section (item name in uppercase) in the configuration
+ *                section (item name in uppercase) in the actions
  *                chapter of the user manual, (whose URL is given in
  *                the config and defaults to our web site).
  *
+ *                FIXME: I currently only work for actions, and would
+ *                       like to be generalized for other topics.
+ *
  * Parameters  :  
  *          1  :  item = item (will NOT be free()d.) 
  *                       It is assumed to be HTML-safe.
+ *          2  :  config = The current configuration.
  *
  * Returns     :  String with item embedded in link, or NULL on
  *                out-of-memory
  *
  *********************************************************************/
-char *add_help_link(const char *item, 
+char *add_help_link(const char *item,
                     struct configuration_spec *config)
 {
-   char *result = strdup("");
+   char *result;
 
    if (!item) return NULL;
-   
-   string_append(&result, "<a href=\"");
+
+   result = strdup("<a href=\"");
    string_append(&result, config->usermanual);
-   string_append(&result, HELP_LINK_PREFIX);
+   string_append(&result, ACTIONS_HELP_PREFIX);
    string_join  (&result, string_toupper(item));
    string_append(&result, "\">");
    string_append(&result, item);
@@ -1497,7 +1511,7 @@ void free_http_response(struct http_response *rsp)
  *          1  :  csp = Current client state (buffers, headers, etc...)
  *          2  :  template_ptr = Destination for pointer to loaded
  *                               template text.
- *          3  :  template = name of the HTML template to be used
+ *          3  :  templatename = name of the HTML template to be used
  *          4  :  recursive = Flag set if this function calls itself
  *                            following an #include statament
  *
@@ -1744,6 +1758,7 @@ jb_err template_fill(char **template_ptr, const struct map *exports)
  *          2  :  templatename = name of the HTML template to be used
  *          3  :  exports = map with fill in symbol -> name pairs.
  *                          Will be freed by this function.
+ *          4  :  rsp = Response structure to fill in.
  *
  * Returns     :  JB_ERR_OK on success
  *                JB_ERR_MEMORY on out-of-memory error
@@ -1816,7 +1831,7 @@ struct map *default_exports(const struct client_state *csp, const char *caller)
    if (!err) err = map(exports, "menu",          1, make_menu(caller), 0);
    if (!err) err = map(exports, "code-status",   1, CODE_STATUS, 1);
    if (!err) err = map(exports, "user-manual",   1, csp->config->usermanual ,1);
-   if (!err) err = map(exports, "helplink",      1, HELP_LINK_PREFIX ,1);
+   if (!err) err = map(exports, "actions-help-prefix", 1, ACTIONS_HELP_PREFIX ,1);
    if (!err) err = map_conditional(exports, "enabled-display", g_bToggleIJB);
 
    snprintf(buf, 20, "%d", csp->config->hport);