From: Perttu Ahola Date: Wed, 21 Mar 2012 00:16:22 +0000 (+0200) Subject: Use atof() in mystof(), because istringstream>>float randomly causes a segfault on... X-Git-Tag: 0.4.dev-20120326~63 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=2f2ef80ec274daa0f7a814b28429f48447cd88b0;p=oweals%2Fminetest.git Use atof() in mystof(), because istringstream>>float randomly causes a segfault on mingw --- diff --git a/src/utility.h b/src/utility.h index fbd76f230..07216a27d 100644 --- a/src/utility.h +++ b/src/utility.h @@ -1049,22 +1049,25 @@ inline s32 mystoi(const std::string &s, s32 min, s32 max) // MSVC2010 includes it's own versions of these //#if !defined(_MSC_VER) || _MSC_VER < 1600 -inline s32 mystoi(std::string s) +inline s32 mystoi(const std::string &s) { return atoi(s.c_str()); } -inline s32 mystoi(std::wstring s) +inline s32 mystoi(const std::wstring &s) { return atoi(wide_to_narrow(s).c_str()); } -inline float mystof(std::string s) +inline float mystof(const std::string &s) { - float f; + // This crap causes a segfault in certain cases on MinGW + /*float f; std::istringstream ss(s); ss>>f; - return f; + return f;*/ + // This works in that case + return atof(s.c_str()); } //#endif