summaryrefslogtreecommitdiffstats
path: root/misc/ossp-uuid/files/patch-uuid_str.c
blob: f88d2bcadb87a25479f80d421971375932c357f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
--- uuid_str.c.orig	Tue Mar 29 21:39:51 2005
+++ uuid_str.c	Thu Dec  8 18:46:13 2005
@@ -690,8 +690,10 @@
 {
     char *rv;
     int n;
+    va_list ap_tmp;
 
-    n = str_vsnprintf(NULL, 0, fmt, ap);
+    va_copy(ap_tmp, ap);
+    n = str_vsnprintf(NULL, 0, fmt, ap_tmp);
     if ((rv = (char *)malloc(n+1)) == NULL)
         return NULL;
     str_vsnprintf(rv, n+1, fmt, ap);
@@ -720,6 +722,7 @@
 {
     int rv;
     size_t n;
+    va_list ap_tmp;
 
     if (str == NULL)
         return -1;
@@ -729,7 +732,8 @@
     }
     else {
         n = strlen(*str);
-        rv = str_vsnprintf(NULL, 0, fmt, ap);
+        va_copy(ap_tmp, ap);
+        rv = str_vsnprintf(NULL, 0, fmt, ap_tmp);
         if ((*str = (char *)realloc(*str, n+rv+1)) == NULL)
             return -1;
         str_vsnprintf((*str)+n, rv+1, fmt, ap);
OpenPOWER on IntegriCloud