diff options
| author | Wladimir J. van der Laan <[email protected]> | 2012-09-25 22:56:29 -0700 |
|---|---|---|
| committer | Wladimir J. van der Laan <[email protected]> | 2012-09-25 22:56:29 -0700 |
| commit | 5a1a3622153662b948537ad950be07a49864f82e (patch) | |
| tree | 816fe70b3e9a700790b63a3568fad79dba2af00e /src/util.cpp | |
| parent | Merge pull request #1684 from jgarzik/bootstrap (diff) | |
| parent | Add format characters for (s)size_t and ptrdiff_t (diff) | |
| download | discoin-5a1a3622153662b948537ad950be07a49864f82e.tar.xz discoin-5a1a3622153662b948537ad950be07a49864f82e.zip | |
Merge pull request #1807 from laanwj/2012_09_printf_warnings
Add printf-style warnings to strprintf() and OutputDebugStringF()
Diffstat (limited to 'src/util.cpp')
| -rw-r--r-- | src/util.cpp | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/src/util.cpp b/src/util.cpp index d1270348e..a8bd8228e 100644 --- a/src/util.cpp +++ b/src/util.cpp @@ -274,7 +274,7 @@ inline int OutputDebugStringF(const char* pszFormat, ...) return ret; } -string vstrprintf(const std::string &format, va_list ap) +string vstrprintf(const char *format, va_list ap) { char buffer[50000]; char* p = buffer; @@ -284,7 +284,11 @@ string vstrprintf(const std::string &format, va_list ap) { va_list arg_ptr; va_copy(arg_ptr, ap); - ret = _vsnprintf(p, limit, format.c_str(), arg_ptr); +#ifdef WIN32 + ret = _vsnprintf(p, limit, format, arg_ptr); +#else + ret = vsnprintf(p, limit, format, arg_ptr); +#endif va_end(arg_ptr); if (ret >= 0 && ret < limit) break; @@ -301,7 +305,7 @@ string vstrprintf(const std::string &format, va_list ap) return str; } -string real_strprintf(const std::string &format, int dummy, ...) +string real_strprintf(const char *format, int dummy, ...) { va_list arg_ptr; va_start(arg_ptr, dummy); @@ -310,6 +314,15 @@ string real_strprintf(const std::string &format, int dummy, ...) return str; } +string real_strprintf(const std::string &format, int dummy, ...) +{ + va_list arg_ptr; + va_start(arg_ptr, dummy); + string str = vstrprintf(format.c_str(), arg_ptr); + va_end(arg_ptr); + return str; +} + bool error(const char *format, ...) { va_list arg_ptr; @@ -411,7 +424,7 @@ bool ParseMoney(const char* pszIn, int64& nRet) } -static signed char phexdigit[256] = +static const signed char phexdigit[256] = { -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, -1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1, |