X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=parsers.c;h=14aa99ea8cbbb3a603e8501a706fd281fab97fed;hp=d63647d8c03b8d179a0a4fcf076ebe335da226f2;hb=e52674334610f4c2a1eb22b095c126527705f314;hpb=4398286ec2297fdbb7e1faab3e37d2c3ea43e8c8 diff --git a/parsers.c b/parsers.c index d63647d8..14aa99ea 100644 --- a/parsers.c +++ b/parsers.c @@ -1211,8 +1211,8 @@ static void enforce_header_order(struct list *headers, const struct list *ordere } list_remove_all(headers); - list_duplicate(headers, new_headers); - list_remove_all(new_headers); + headers->first = new_headers->first; + headers->last = new_headers->last; return; } @@ -1291,7 +1291,9 @@ jb_err sed(struct client_state *csp, int filter_server_headers) f++; } - if (!filter_server_headers && !list_is_empty(csp->config->ordered_client_headers)) + if (!filter_server_headers && + !list_is_empty(csp->config->ordered_client_headers) && + csp->headers->first->str != NULL) { enforce_header_order(csp->headers, csp->config->ordered_client_headers); } @@ -1695,7 +1697,8 @@ static jb_err filter_header(struct client_state *csp, char **header) if (NULL == joblist) { - log_error(LOG_LEVEL_RE_FILTER, "Filter %s has empty joblist. Nothing to do.", b->name); + log_error(LOG_LEVEL_RE_FILTER, + "Filter %s has empty joblist. Nothing to do.", b->name); continue; } @@ -1709,7 +1712,8 @@ static jb_err filter_header(struct client_state *csp, char **header) if (0 < matches) { current_hits += matches; - log_error(LOG_LEVEL_HEADER, "Transforming \"%s\" to \"%s\"", *header, newheader); + log_error(LOG_LEVEL_HEADER, + "Transforming \"%s\" to \"%s\"", *header, newheader); freez(*header); *header = newheader; } @@ -1721,7 +1725,8 @@ static jb_err filter_header(struct client_state *csp, char **header) else { /* RegEx failure */ - log_error(LOG_LEVEL_ERROR, "Filtering \'%s\' with \'%s\' didn't work out: %s", + log_error(LOG_LEVEL_ERROR, + "Filtering \'%s\' with \'%s\' didn't work out: %s", *header, b->name, pcrs_strerror(matches)); if (newheader != NULL) {