Open
Description
The function atof
used in URI.cpp returns integer values for floating point numbers if an application uses locale where comma is used to separate the integer part.
Example:
URI uri("osx:?setting=1.5");
double setting = 0.;
URI::getQueryArg(uri.query, "setting", &setting);
// here setting maybe equal to 1 instead of 1.5
This can be corrected with
setlocale(LC_NUMERIC, "C")
before using the function, however we need to put the current locale back afterwards.
The easier option could be using istringstream
to read the numbers, since it uses US locale
by default.
Activity