X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Frouters%2Frf_get_munge_headers.c;h=f08b55adcdf7f0608b278ef0475076705f81cf39;hb=8b4556856d2434c8006df5011d4855c07a7ba2b8;hp=745704f6241ddb112a4af50957dca8f5cc8d481c;hpb=4226691b79845d9b41041e2f64a3a241dcb99f4d;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/routers/rf_get_munge_headers.c b/src/src/routers/rf_get_munge_headers.c index 745704f62..f08b55adc 100644 --- a/src/src/routers/rf_get_munge_headers.c +++ b/src/src/routers/rf_get_munge_headers.c @@ -2,7 +2,7 @@ * Exim - an Internet mail transport agent * *************************************************/ -/* Copyright (c) University of Cambridge 1995 - 2015 */ +/* Copyright (c) University of Cambridge 1995 - 2018 */ /* See the file NOTICE for conditions of use and distribution. */ #include "../exim.h" @@ -44,7 +44,7 @@ if (rblock->extra_headers) while ((s = string_nextinlist(&list, &sep, NULL, 0))) if (!(s = expand_string(s))) { - if (!expand_string_forcedfail) + if (!f.expand_string_forcedfail) { addr->message = string_sprintf( "%s router failed to expand add_headers item \"%s\": %s", @@ -91,15 +91,15 @@ if (rblock->remove_headers) const uschar * list = rblock->remove_headers; int sep = ':'; uschar * s; - int size = 0, len = 0; + gstring * g = NULL; if (*remove_headers) - size = (len = Ustrlen(*remove_headers)) + 1; + g = string_cat(NULL, *remove_headers); while ((s = string_nextinlist(&list, &sep, NULL, 0))) if (!(s = expand_string(s))) { - if (!expand_string_forcedfail) + if (!f.expand_string_forcedfail) { addr->message = string_sprintf( "%s router failed to expand remove_headers item \"%s\": %s", @@ -108,12 +108,15 @@ if (rblock->remove_headers) } } else if (*s) - *remove_headers = string_append_listele(*remove_headers, &size, &len, ':', s); + g = string_append_listele(g, ':', s); + + if (g) + *remove_headers = g->s; } return OK; } -/* vi: aw ai sw=4 +/* vi: aw ai sw=2 */ /* End of rf_get_munge_headers.c */