/* */ #include "fmt.h" #include #include #include namespace aria2 { std::string fmt(const char* fmtTemplate, ...) { va_list ap; va_start(ap, fmtTemplate); char buf[2048]; int rv; rv = vsnprintf(buf, sizeof(buf), fmtTemplate, ap); #ifdef __MINGW32__ // MINGW32 vsnprintf returns -1 if output is truncated. if(rv < 0 && rv != -1) { // Reachable? buf[0] = '\0'; } #else // !__MINGW32__ if(rv < 0) { buf[0] = '\0'; } #endif // !__MINGW32__ va_end(ap); return buf; } } // namespace aria2