X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=cgiedit.c;h=047721138e05e161cc03ebee1aec3d6792aad04e;hb=e6b4c58e18c2ead7d6d2ef5a43bdfa7531a81d76;hp=7d5adbdcf409bb23b43deeaa00af747850f011c7;hpb=ff3de0bb579de56a883de0547bbb81772bed5335;p=privoxy.git diff --git a/cgiedit.c b/cgiedit.c index 7d5adbdc..04772113 100644 --- a/cgiedit.c +++ b/cgiedit.c @@ -1,4 +1,4 @@ -const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.41 2002/05/21 19:09:45 oes Exp $"; +const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.41.2.3 2002/11/12 15:01:41 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/Attic/cgiedit.c,v $ @@ -42,6 +42,15 @@ const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.41 2002/05/21 19:09:45 oes Exp $" * * Revisions : * $Log: cgiedit.c,v $ + * Revision 1.41.2.3 2002/11/12 15:01:41 oes + * Fix: Don't free uninitialized struct editable_file + * + * Revision 1.41.2.2 2002/08/05 20:02:59 oes + * Bugfix: "Insert new section at top" did not work properly if first non-comment line in file was of type FILE_LINE_ACTION + * + * Revision 1.41.2.1 2002/08/02 12:43:14 oes + * Fixed bug #588514: first_time now set on a per-string basis in actions_from_radio; javascriptify now called on copies + * * Revision 1.41 2002/05/21 19:09:45 oes * - Made Add/Edit/Remove URL Submit and Cancel * buttons jump back to relevant section in eal @@ -286,7 +295,7 @@ const char cgiedit_rcs[] = "$Id: cgiedit.c,v 1.41 2002/05/21 19:09:45 oes Exp $" #include "errlog.h" #include "loaders.h" #include "loadcfg.h" -/* loadcfg.h is for g_bToggleIJB only */ +/* loadcfg.h is for global_toggle_state only */ #include "urlmatch.h" const char cgiedit_h_rcs[] = CGIEDIT_H_VERSION; @@ -2515,7 +2524,6 @@ jb_err cgi_edit_actions_list(struct client_state *csp, if (NULL == (exports = default_exports(csp, NULL))) { - edit_free_file(file); return JB_ERR_MEMORY; } @@ -2877,12 +2885,13 @@ jb_err cgi_edit_actions_list(struct client_state *csp, /* Could also do section-specific exports here, but it wouldn't be as fast */ + snprintf(buf, 150, "%d", line_number); + if (!err) err = map(section_exports, "s-next", 1, buf, 1); + if ( (cur_line != NULL) && (cur_line->type == FILE_LINE_ACTION)) { /* Not last section */ - snprintf(buf, 150, "%d", line_number); - if (!err) err = map(section_exports, "s-next", 1, buf, 1); if (!err) err = map_block_keep(section_exports, "s-next-exists"); } else @@ -3999,10 +4008,10 @@ jb_err cgi_edit_actions_section_add(struct client_state *csp, line_number = 1; cur_line = file->lines; - if (sectionid < 1U) + if (sectionid <= 1U) { /* Add to start of file */ - if (cur_line != NULL) + if (cur_line != NULL && cur_line->type != FILE_LINE_ACTION) { /* There's something in the file, find the line before the first * action. @@ -4014,6 +4023,11 @@ jb_err cgi_edit_actions_section_add(struct client_state *csp, line_number++; } } + else + { + /* File starts with action line, so insert at top */ + cur_line = NULL; + } } else { @@ -4367,17 +4381,17 @@ jb_err cgi_toggle(struct client_state *csp, if (mode == 'E') { /* Enable */ - g_bToggleIJB = 1; + global_toggle_state = 1; } else if (mode == 'D') { /* Disable */ - g_bToggleIJB = 0; + global_toggle_state = 0; } else if (mode == 'T') { /* Toggle */ - g_bToggleIJB = !g_bToggleIJB; + global_toggle_state = !global_toggle_state; } if (NULL == (exports = default_exports(csp, "toggle")))