From 2f2ef80ec274daa0f7a814b28429f48447cd88b0 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Wed, 21 Mar 2012 02:16:22 +0200 Subject: [PATCH] Use atof() in mystof(), because istringstream>>float randomly causes a segfault on mingw --- src/utility.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/utility.h b/src/utility.h index fbd76f23..07216a27 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