From 09b006561153861a044e3f5f0a0e1a17d24072be Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Sat, 19 Jul 2014 10:59:22 -0700 Subject: [PATCH] Use a stringstream instead of sscanf for ParseScalar --- src/yaml/parsers.hh | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/yaml/parsers.hh b/src/yaml/parsers.hh index 3cea6a6..204dafa 100644 --- a/src/yaml/parsers.hh +++ b/src/yaml/parsers.hh @@ -11,6 +11,7 @@ #include #include +#include #include "yaml.h" @@ -115,16 +116,17 @@ struct ScalarParserTraits /** * Parse a YAML scalar value into a native datatype. * - * @param [in] scalarValue The YAML scalar value - * @param [out] value The parsed value of the scalar value + * @param [in] scalar The YAML scalar value + * @param [out] value The parsed value of the scalar value * @return `true` if the conversion succeeded */ template bool -ParseScalar(const std::string& scalarValue, +ParseScalar(const std::string& scalar, T& value) { - return sscanf(scalarValue.c_str(), ScalarParserTraits::fmt, &value) == EOF; + std::stringstream s(scalar); + return (bool)(s >> value); } } /* namespace yaml */