X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=actions.c;h=aa1d026404b4962f11710cac0b9ecec675337313;hb=dfb9a1ebaeacec72783009c3c7c7b58dea4a4fcc;hp=ff5096903d2c963f24d6b746ec6b3646bfe683dd;hpb=34f25360a2ab2d70ef9e7c545ff70818aa00f11a;p=privoxy.git diff --git a/actions.c b/actions.c index ff509690..aa1d0264 100644 --- a/actions.c +++ b/actions.c @@ -1,4 +1,4 @@ -const char actions_rcs[] = "$Id: actions.c,v 1.27 2002/04/24 02:10:31 oes Exp $"; +const char actions_rcs[] = "$Id: actions.c,v 1.30 2002/04/30 11:14:52 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/actions.c,v $ @@ -33,6 +33,25 @@ const char actions_rcs[] = "$Id: actions.c,v 1.27 2002/04/24 02:10:31 oes Exp $" * * Revisions : * $Log: actions.c,v $ + * Revision 1.30 2002/04/30 11:14:52 oes + * Made csp the first parameter in *action_to_html + * + * Revision 1.29 2002/04/26 19:30:54 jongfoster + * - current_action_to_html(): Adding help link for the "-" form of + * one-string actions. + * - Some actions had "
-", some "
-" (note the space). + * Standardizing on no space. + * - Greatly simplifying some of the code by using string_join() + * where appropriate. + * + * Revision 1.28 2002/04/26 12:53:15 oes + * - CGI AF editor now writes action lines split into + * single lines with line continuation + * - actions_to_html now embeds each action name in + * link to chapter + * - current_action_to_text is now called current_action_to_html + * and acts like actions_to_html + * * Revision 1.27 2002/04/24 02:10:31 oes * - Jon's patch for multiple AFs: * - split load_actions_file, add load_one_actions_file @@ -166,9 +185,7 @@ const char actions_rcs[] = "$Id: actions.c,v 1.27 2002/04/24 02:10:31 oes Exp $" #include "miscutil.h" #include "errlog.h" #include "loaders.h" -#ifdef FEATURE_CGI_EDIT_ACTIONS #include "encode.h" -#endif /* def FEATURE_CGI_EDIT_ACTIONS */ #include "urlmatch.h" #include "cgi.h" @@ -1444,7 +1461,6 @@ char * actions_to_text(struct action_spec *action) } -#ifdef FEATURE_CGI_EDIT_ACTIONS /********************************************************************* * * Function : actions_to_html @@ -1455,20 +1471,19 @@ char * actions_to_text(struct action_spec *action) * the user manual. * * Parameters : - * 1 : mask = As from struct url_actions - * 2 : add = As from struct url_actions + * 1 : csp = Client state (for config) + * 2 : action = Action spec to be converted * * Returns : A string. Caller must free it. * NULL on out-of-memory error. * *********************************************************************/ -char * actions_to_html(struct action_spec *action, - struct client_state *csp) +char * actions_to_html(struct client_state *csp, + struct action_spec *action) { unsigned mask = action->mask; unsigned add = action->add; char * result = strdup(""); - char * enc_str; struct list_entry * lst; /* sanity - prevents "-feature +feature" */ @@ -1498,25 +1513,14 @@ char * actions_to_html(struct action_spec *action, string_append(&result, "\n
+"); \ string_join(&result, add_help_link(__name, csp->config)); \ string_append(&result, "{"); \ - if (NULL == result) \ - { \ - return NULL; \ - } \ - enc_str = html_encode(action->string[__index]);\ - if (NULL == enc_str) \ - { \ - free(result); \ - return NULL; \ - } \ - string_append(&result, enc_str); \ - free(enc_str); \ + string_join(&result, html_encode(action->string[__index])); \ string_append(&result, "}"); \ } #define DEFINE_ACTION_MULTI(__name, __index) \ if (action->multi_remove_all[__index]) \ { \ - string_append(&result, "\n
-"); \ + string_append(&result, "\n
-"); \ string_join(&result, add_help_link(__name, csp->config)); \ } \ else \ @@ -1527,18 +1531,7 @@ char * actions_to_html(struct action_spec *action, string_append(&result, "\n
-"); \ string_join(&result, add_help_link(__name, csp->config)); \ string_append(&result, "{"); \ - if (NULL == result) \ - { \ - return NULL; \ - } \ - enc_str = html_encode(lst->str); \ - if (NULL == enc_str) \ - { \ - free(result); \ - return NULL; \ - } \ - string_append(&result, enc_str); \ - free(enc_str); \ + string_join(&result, html_encode(lst->str)); \ string_append(&result, "}"); \ lst = lst->next; \ } \ @@ -1549,18 +1542,7 @@ char * actions_to_html(struct action_spec *action, string_append(&result, "\n
+"); \ string_join(&result, add_help_link(__name, csp->config)); \ string_append(&result, "{"); \ - if (NULL == result) \ - { \ - return NULL; \ - } \ - enc_str = html_encode(lst->str); \ - if (NULL == enc_str) \ - { \ - free(result); \ - return NULL; \ - } \ - string_append(&result, enc_str); \ - free(enc_str); \ + string_join(&result, html_encode(lst->str)); \ string_append(&result, "}"); \ lst = lst->next; \ } @@ -1584,7 +1566,6 @@ char * actions_to_html(struct action_spec *action, return result; } -#endif /* def FEATURE_CGI_EDIT_ACTIONS */ /********************************************************************* @@ -1596,18 +1577,18 @@ char * actions_to_html(struct action_spec *action, * the user manual. * * Parameters : - * 1 : action = Action + * 1 : csp = Client state (for config) + * 2 : action = Current action spec to be converted * * Returns : A string. Caller must free it. * NULL on out-of-memory error. * *********************************************************************/ -char *current_action_to_html(struct current_action_spec *action, - struct client_state *csp) +char *current_action_to_html(struct client_state *csp, + struct current_action_spec *action) { unsigned long flags = action->flags; char * result = strdup(""); - char * enc_str; struct list_entry * lst; #define DEFINE_ACTION_BOOL(__name, __bit) \ @@ -1628,43 +1609,30 @@ char *current_action_to_html(struct current_action_spec *action, string_append(&result, "\n
+"); \ string_join(&result, add_help_link(__name, csp->config)); \ string_append(&result, "{"); \ - enc_str = html_encode(action->string[__index]); \ - if (NULL == enc_str) \ - { \ - free(result); \ - return NULL; \ - } \ - string_append(&result, enc_str); \ - free(enc_str); \ + string_join(&result, html_encode(action->string[__index])); \ string_append(&result, "}"); \ } \ else \ { \ - string_append(&result, "\n
-" __name); \ + string_append(&result, "\n
-"); \ + string_join(&result, add_help_link(__name, csp->config)); \ } #define DEFINE_ACTION_MULTI(__name, __index) \ lst = action->multi[__index]->first; \ if (lst == NULL) \ { \ - string_append(&result, "\n
-"); \ + string_append(&result, "\n
-"); \ string_join(&result, add_help_link(__name, csp->config)); \ } \ else \ { \ while (lst) \ { \ - string_append(&result, "\n
+"); \ + string_append(&result, "\n
+"); \ string_join(&result, add_help_link(__name, csp->config)); \ string_append(&result, "{"); \ - enc_str = html_encode(lst->str); \ - if (NULL == enc_str) \ - { \ - free(result); \ - return NULL; \ - } \ - string_append(&result, enc_str); \ - free(enc_str); \ + string_join(&result, html_encode(lst->str)); \ string_append(&result, "}"); \ lst = lst->next; \ } \