aboutsummaryrefslogtreecommitdiff
path: root/sys/libn/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/libn/string.c')
-rw-r--r--sys/libn/string.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/libn/string.c b/sys/libn/string.c
index 4c8c903..7c152e3 100644
--- a/sys/libn/string.c
+++ b/sys/libn/string.c
@@ -243,19 +243,22 @@ str·make(const byte *s)
string
str·makef(const byte *fmt, ...)
{
+ vlong n;
+ string s;
va_list args;
+
va_start(args, fmt);
- vlong n = vsnprintf(nil, 0, fmt, args);
+ n = vsnprintf(nil, 0, fmt, args);
va_end(args);
- string s = str·makecap(nil, 0, n);
+ s = str·makecap(nil, 0, n);
va_start(args, fmt);
vsnprintf(s, n + 1, fmt, args);
va_end(args);
Hdr* h = (Hdr*)(s - sizeof(Hdr));
- h->len = n;
+ h->len = n;
return s;
}