summaryrefslogtreecommitdiff
path: root/media-sound/mpd/files/stupidity.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-sound/mpd/files/stupidity.patch')
-rw-r--r--media-sound/mpd/files/stupidity.patch35
1 files changed, 35 insertions, 0 deletions
diff --git a/media-sound/mpd/files/stupidity.patch b/media-sound/mpd/files/stupidity.patch
new file mode 100644
index 0000000..1367516
--- /dev/null
+++ b/media-sound/mpd/files/stupidity.patch
@@ -0,0 +1,35 @@
+diff --git a/src/util/FormatString.cxx b/src/util/FormatString.cxx
+index ceb7d48e0..28825cd5c 100644
+--- a/src/util/FormatString.cxx
++++ b/src/util/FormatString.cxx
+@@ -30,7 +30,6 @@
+ 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 +42,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(buffer);
+-#endif
+ }
+
+ AllocatedString<>