From 22a59b3912ff5e7bb1516faa06f1841545a8117c Mon Sep 17 00:00:00 2001 From: sapier Date: Sun, 3 Nov 2013 17:28:16 +0100 Subject: Fix win32/msvc i18n (quite UGLY version, blame Microsoft) --- src/util/pointer.h | 1 + src/util/string.cpp | 5 +++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src/util') diff --git a/src/util/pointer.h b/src/util/pointer.h index f65683332..ba43b7844 100644 --- a/src/util/pointer.h +++ b/src/util/pointer.h @@ -197,6 +197,7 @@ public: else data = NULL; refcount = new unsigned int; + memset(data,0,sizeof(T)*m_size); (*refcount) = 1; } SharedBuffer(const SharedBuffer &buffer) diff --git a/src/util/string.cpp b/src/util/string.cpp index a2312baf8..39a14598b 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -41,8 +41,9 @@ std::string wide_to_narrow(const std::wstring& wcs) size_t mbl = wcs.size()*4; SharedBuffer mbs(mbl+1); size_t l = wcstombs(*mbs, wcs.c_str(), mbl); - if(l == (size_t)(-1)) - mbs[0] = 0; + if(l == (size_t)(-1)) { + return "Character conversion failed!"; + } else mbs[l] = 0; return *mbs; -- cgit v1.2.3