blob: 8fb9c38672a33b66e96c72fe01c7f4a5753a29ab (
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
|
#include "internal.h"
// Newf returns a new dynamic string object
string
str·makef(const byte *fmt, ...)
{
vlong n;
string s;
va_list args;
va_start(args, fmt);
n = vsnprintf(nil, 0, fmt, args);
va_end(args);
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;
return s;
}
|