diff --git a/src/seeder/util.h b/src/seeder/util.h --- a/src/seeder/util.h +++ b/src/seeder/util.h @@ -44,9 +44,9 @@ nanosleep(&wa, nullptr); } -std::string vstrprintf(const std::string &format, va_list ap); +std::string vstrprintf(const char *format, va_list ap); -static inline std::string strprintf(const std::string &format, ...) { +static inline std::string strprintf(const char *format, ...) { va_list arg_ptr; va_start(arg_ptr, format); std::string ret = vstrprintf(format, arg_ptr); diff --git a/src/seeder/util.cpp b/src/seeder/util.cpp --- a/src/seeder/util.cpp +++ b/src/seeder/util.cpp @@ -2,7 +2,7 @@ #include -std::string vstrprintf(const std::string &format, va_list ap) { +std::string vstrprintf(const char *format, va_list ap) { char buffer[50000]; char *p = buffer; int limit = sizeof(buffer); @@ -10,7 +10,7 @@ loop { va_list arg_ptr; va_copy(arg_ptr, ap); - ret = vsnprintf(p, limit, format.c_str(), arg_ptr); + ret = vsnprintf(p, limit, format, arg_ptr); va_end(arg_ptr); if (ret >= 0 && ret < limit) break; if (p != buffer) delete[] p;