projects
/
OpenSRF.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
b411067
)
moor boogz
author
miker
<miker@9efc2488-bf62-4759-914b-345cdb29e865>
Wed, 3 Aug 2005 15:03:42 +0000
(15:03 +0000)
committer
miker
<miker@9efc2488-bf62-4759-914b-345cdb29e865>
Wed, 3 Aug 2005 15:03:42 +0000
(15:03 +0000)
git-svn-id: svn://svn.open-ils.org/OpenSRF/trunk@456
9efc2488
-bf62-4759-914b-
345cdb29e865
src/utils/utils.c
patch
|
blob
|
history
diff --git
a/src/utils/utils.c
b/src/utils/utils.c
index
60d665a
..
830861a
100644
(file)
--- a/
src/utils/utils.c
+++ b/
src/utils/utils.c
@@
-105,10
+105,18
@@
int buffer_fadd(growing_buffer* gb, const char* format, ... ) {
if(!gb || !format) return 0;
+ int len = 0;
va_list args;
+ va_list a_copy;
+
+ char* f_copy = strdup(format);
+
+ va_copy(a_copy,args);
+
+ va_start(a_copy, f_copy);
+ len = vsnprintf(NULL, 0, f_copy, a_copy);
+ va_end(a_copy);
- va_start(args, format);
- int len = vsnprintf(NULL, 0, format, args);
len += 1;
char buf[len];
@@
-118,6
+126,8
@@
int buffer_fadd(growing_buffer* gb, const char* format, ... ) {
vsnprintf(buf, len - 1, format, args);
va_end(args);
+ free(f_copy);
+
return buffer_add(gb, buf);
}