- size = vsnprintf(sbuf, 1024, (char*)format, tmpList);\r
- \r
- if( size >= 1024 )\r
- {\r
- buf = (char*)malloc(size+1);\r
- if(!buf) {\r
- write(_stdout, 31, "vfprintf ERROR: malloc() failed");\r
- return 0;\r
- }\r
- buf[size] = '\0';\r
- \r
- // Print\r
- vsnprintf(buf, size+1, (char*)format, args);\r
- }\r
+ size = vsnprintf(NULL, 0, (char*)format, tmpList);\r
+ char buf[size+1];\r
+ vsnprintf(buf, size+1, (char*)format, args);\r