diff options
author | Jim McDonough <jmcd@samba.org> | 2002-05-17 14:51:22 +0000 |
---|---|---|
committer | Jim McDonough <jmcd@samba.org> | 2002-05-17 14:51:22 +0000 |
commit | c7523c57512258007f0ac5271697fc6a9f4618d6 (patch) | |
tree | 43ab98ce3e97f2a910c15ef76978bb46a8471407 /source3/lib/dprintf.c | |
parent | 31cda568c05624ef5e7fd2970c5f2733e67eedc3 (diff) | |
download | samba-c7523c57512258007f0ac5271697fc6a9f4618d6.tar.gz samba-c7523c57512258007f0ac5271697fc6a9f4618d6.tar.bz2 samba-c7523c57512258007f0ac5271697fc6a9f4618d6.zip |
Fix usage of va_list passed as an arg. Use __va_copy before using it
when it exists.
(This used to be commit 85ab07bdc1b2ce7b2c1b8197fad45124b1460dca)
Diffstat (limited to 'source3/lib/dprintf.c')
-rw-r--r-- | source3/lib/dprintf.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source3/lib/dprintf.c b/source3/lib/dprintf.c index dadebdb3b4..4dcc283047 100644 --- a/source3/lib/dprintf.c +++ b/source3/lib/dprintf.c @@ -36,12 +36,18 @@ int d_vfprintf(FILE *f, const char *format, va_list ap) char *p, *p2; int ret, maxlen, clen; const char *msgstr; + va_list ap2; /* do any message translations */ msgstr = lang_msg(format); if (!msgstr) return -1; - ret = vasprintf(&p, msgstr, ap); +#if defined(HAVE_VA_COPY) + __va_copy(ap2, ap) +#else + ap2 = ap; +#endif + ret = vasprintf(&p, msgstr, ap2); lang_msg_free(msgstr); |