X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=actions.c;h=e5d320b4197caa186fa30d6329cc07e917e2726f;hp=ff5096903d2c963f24d6b746ec6b3646bfe683dd;hb=87913a450b0f09b1cfe4c4b1fc0ad222996c554f;hpb=34f25360a2ab2d70ef9e7c545ff70818aa00f11a diff --git a/actions.c b/actions.c index ff509690..e5d320b4 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.29 2002/04/26 19:30:54 jongfoster Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/actions.c,v $ @@ -33,6 +33,22 @@ 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.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 @@ -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; \ } @@ -1596,18 +1578,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 +1610,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; \ } \