aboutsummaryrefslogtreecommitdiff
path: root/sys/libn/string.c
diff options
context:
space:
mode:
authorNicholas Noll <nbnoll@eml.cc>2020-05-19 16:37:23 -0700
committerNicholas Noll <nbnoll@eml.cc>2020-05-19 16:37:23 -0700
commit13772a8a2120017981d280bfe120fdbb74f27860 (patch)
tree0dcd2245580572297fe258f3bc4d681df2756680 /sys/libn/string.c
parent02103dfd518faf327f7edc13695435308ddcead8 (diff)
fix: many bug fixes to number parsing
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;
}