X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fsrc%2Fdummies.c;h=2e1ad11f5864fb1c1e24a9ba3bba3a9248719bbb;hb=7a9e0ae14e5544e8377d1f91298d0ec9a482bf12;hp=d176befe83bfe92e0a7ddc1cb8e957f518f2c439;hpb=3634fc257bd0667daef14d72005cd87c735bbb24;p=user%2Fhenk%2Fcode%2Fexim.git diff --git a/src/src/dummies.c b/src/src/dummies.c index d176befe8..2e1ad11f5 100644 --- a/src/src/dummies.c +++ b/src/src/dummies.c @@ -20,7 +20,7 @@ alternates. */ /* We don't have the full Exim headers dragged in, but this function is used for debugging output. */ -extern int string_vformat(char *, int, char *, va_list); +extern gstring * string_vformat(gstring *, BOOL, const char *, va_list); /************************************************* @@ -69,22 +69,24 @@ void debug_printf(char *format, ...) { va_list ap; -char buffer[1024]; +gstring * g = string_get(1024); +void * reset_point = g; va_start(ap, format); -if (!string_vformat(buffer, sizeof(buffer), format, ap)) +if (!string_vformat(g, FALSE, format, ap)) { - char *s = "**** debug string overflowed buffer ****\n"; - char *p = buffer + (int)strlen(buffer); - int maxlen = sizeof(buffer) - (int)strlen(s) - 3; - if (p > buffer + maxlen) p = buffer + maxlen; - if (p > buffer && p[-1] != '\n') *p++ = '\n'; + char * s = "**** debug string overflowed buffer ****\n"; + char * p = CS g->s + g->ptr; + int maxlen = g->size - (int)strlen(s) - 3; + if (p > g->s + maxlen) p = g->s + maxlen; + if (p > g->s && p[-1] != '\n') *p++ = '\n'; strcpy(p, s); } -fprintf(stderr, "%s", buffer); +fprintf(stderr, "%s", string_from_gstring(g)); fflush(stderr); +store_reset(reset_point); va_end(ap); } @@ -100,7 +102,7 @@ void sigalrm_handler(int sig) { sig = sig; /* Keep picky compilers happy */ -sigalrm_seen = 1; +sigalrm_seen = TRUE; }