6 // template<class... Args>: format string is not a string literal (potentially insecure) [-Werror,-Wformat-security]
8 static inline PRINTF(2,0) string vstringf_const(size_t sizemax,const char *fmt,va_list ap) {
9 string str(sizemax+1,0);
10 const int got=vsnprintf(&str[0],str.length(),fmt,ap);
11 if (got!=ssize_t(sizemax))
12 fatal("stringf*(): expected=%zu got=%d fmt=\"%s\" str=\"%s\"",sizemax,got,fmt,str.c_str());
17 static inline PRINTF(2,3) string stringf_const(size_t sizemax,const char *fmt,...) {
20 const string str(vstringf_const(sizemax,fmt,ap));
25 static inline PRINTF(1,2) string stringf(const char *fmt,...) {
26 // 189: for i in activetick.data/;do find $i -name "*.xz";done|xargs xz -dc|perl -lne 'BEGIN{$m=0;}if (length($_)>$m){$m=length $_;print $m;}'
27 static const int sizetry(192-1/*+1->malloc()*/);
28 string str(sizetry,0);
31 const int got(vsnprintf(&str[0],sizetry,fmt,ap));
37 const int got2(vsnprintf(&str[0],str.length(),fmt,ap));
45 #endif /* LIB_STRINGF_H */