summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPierre Ossman <ossman@cendio.se>2006-06-13 15:54:11 +0000
committerPierre Ossman <ossman@cendio.se>2006-06-13 15:54:11 +0000
commitdd0f80e3e28f2c4a0195d763f861594a9265ef1f (patch)
tree517cf1474dc1ca552e134b64f54195caeec632b7 /src
parent0f13c43797dd291b02a6b0fa1c9933a35da95c01 (diff)
Make a copy of the va_list as vsnprintf() is free to change it.
git-svn-id: file:///home/lennart/svn/public/pulseaudio/trunk@1017 fefdeb5f-60dc-0310-8127-8f9354f1896f
Diffstat (limited to 'src')
-rw-r--r--src/polypcore/core-util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/polypcore/core-util.c b/src/polypcore/core-util.c
index 6cf281c5..dfa41f57 100644
--- a/src/polypcore/core-util.c
+++ b/src/polypcore/core-util.c
@@ -366,8 +366,14 @@ char *pa_vsprintf_malloc(const char *format, va_list ap) {
for(;;) {
int r;
+ va_list aq;
+
+ va_copy(aq, ap);
+
c = pa_xrealloc(c, size);
- r = vsnprintf(c, size, format, ap);
+ r = vsnprintf(c, size, format, aq);
+
+ va_end(aq);
if (r > -1 && r < size)
return c;