Brad King wrote: > On 11/25/2014 06:24 PM, Ruslan Baratov wrote: > > updated > > Thanks. I squashed the commits since the addition of the files > cannot be tested independently, made minor tweaks, and merged > to 'next' for testing: > > cmSystemTools: Add StringToInt helper > http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5121f118
Since I hate *scanf() with passion, how about this:
diff --git a/Source/cmSystemTools.cxx b/Source/cmSystemTools.cxx
index 4c08e07..9852dd6 100644
--- a/Source/cmSystemTools.cxx
+++ b/Source/cmSystemTools.cxx
@@ -2927,7 +2927,7 @@ std::vector<std::string> cmSystemTools::tokenize(const
std::string& str,
//----------------------------------------------------------------------------
bool cmSystemTools::StringToInt(const char* str, int* value)
{
- char unused;
- const int result = sscanf(str, "%d%c", value, &unused);
- return (result == 1);
+ char *endp;
+ *value = static_cast<int>(strtol(str, &endp, 10));
+ return (*endp == '\0') && (endp != str);
}
Eike
--
signature.asc
Description: This is a digitally signed message part.
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers
