From be137a191e5bb12f44e5c51205b2e5f86ef7117c Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Wed, 24 Jan 2018 13:22:43 +0100 Subject: [PATCH] util/FormatString: remove obsolete Windows fallback Since 7d353bbe2a70cd7894b1f5954a37e4a07890478d, _GNU_SOURCE is always defined, which implies __USE_MINGW_ANSI_STDIO and thus switches to the mingw implementations of the printf() family. That's standards-compliant, unlike Microsoft's CRT implementations. --- src/util/FormatString.cxx | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/src/util/FormatString.cxx b/src/util/FormatString.cxx index f3085d8e7..f3af8ae10 100644 --- a/src/util/FormatString.cxx +++ b/src/util/FormatString.cxx @@ -23,14 +23,9 @@ #include #include -#ifdef _WIN32 -#include -#endif - AllocatedString<> FormatStringV(const char *fmt, va_list args) noexcept { -#ifndef _WIN32 va_list tmp; va_copy(tmp, args); const int length = vsnprintf(NULL, 0, fmt, tmp); @@ -43,22 +38,6 @@ FormatStringV(const char *fmt, va_list args) noexcept char *buffer = new char[length + 1]; vsnprintf(buffer, length + 1, fmt, args); return AllocatedString<>::Donate(buffer); -#else - /* On mingw32, snprintf() expects a 64 bit integer instead of - a "long int" for "%li". This is not consistent with our - expectation, so we're using plain sprintf() here, hoping - the static buffer is large enough. Sorry for this hack, - but WIN32 development is so painful, I'm not in the mood to - do it properly now. */ - - char buffer[16384]; - vsprintf(buffer, fmt, args); - - const size_t length = strlen(buffer); - char *p = new char[length + 1]; - memcpy(p, buffer, length + 1); - return AllocatedString<>::Donate(p); -#endif } AllocatedString<>