git://git.exim.org
/
exim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
String handling: refactor the expanding-string routines and users to use a descriptor...
[exim.git]
/
src
/
src
/
acl.c
diff --git
a/src/src/acl.c
b/src/src/acl.c
index b5ffa0193ed58372ca72918d9d922eaf543f502f..79feb5f68076ae55552d570867ed741583e06865 100644
(file)
--- a/
src/src/acl.c
+++ b/
src/src/acl.c
@@
-1036,9
+1036,7
@@
for (p = q; *p != 0; )
uschar *
fn_hdrs_added(void)
{
uschar *
fn_hdrs_added(void)
{
-uschar * ret = NULL;
-int size = 0;
-int ptr = 0;
+gstring * g = NULL;
header_line * h = acl_added_headers;
uschar * s;
uschar * cp;
header_line * h = acl_added_headers;
uschar * s;
uschar * cp;
@@
-1053,18
+1051,19
@@
do
if (cp[1] == '\0') break;
/* contains embedded newline; needs doubling */
if (cp[1] == '\0') break;
/* contains embedded newline; needs doubling */
-
ret = string_catn(ret, &size, &ptr
, s, cp-s+1);
-
ret = string_catn(ret, &size, &ptr
, US"\n", 1);
+
g = string_catn(g
, s, cp-s+1);
+
g = string_catn(g
, US"\n", 1);
s = cp+1;
}
/* last bit of header */
s = cp+1;
}
/* last bit of header */
- ret = string_catn(ret, &size, &ptr, s, cp-s+1); /* newline-sep list */
+/*XXX could we use add_listele? */
+ g = string_catn(g, s, cp-s+1); /* newline-sep list */
}
while((h = h->next));
}
while((h = h->next));
-
ret[ptr-1] = '\0';
/* overwrite last newline */
-return
ret
;
+
g->s[g->ptr - 1] = '\0';
/* overwrite last newline */
+return
g->s
;
}
}