Floating point URI arguments are not parsed correctly
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 55/100
Línea de trabajo
Comienza en URI.cpp, en URI::getQueryArg, e inspecciona cómo atof analiza los valores de coma flotante de los parámetros de consulta. Reproduce el problema con una configuración regional que use la coma como separador decimal mediante el ejemplo proporcionado osx:?setting=1.5 y, después, verifica que el análisis conserve 1.5 sin cambiar la configuración regional del proceso.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- C++
- Estrellas
- 54
- Forks
- 14
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de INRIA/libpointing
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
INRIA/libpointing#40 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
INRIA/libpointing#37 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 38/100
INRIA/libpointing#26 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
INRIA/libpointing#22 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
INRIA/libpointing#17 · 1 comentario ·
Todos los issues de INRIA/libpointing
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
champion good first issue remake source/qq
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
metasequoiaime/msime-windows#1025 ·
Los mantenedores suelen responder en 1 día
-
backlog bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
EchoTools/nevr-runtime#653 ·
Los mantenedores suelen responder en 1 día
-
`--fail-require-skip` never fires: run_tests.py searches stdout, but the unittest binary writes the skip summary to stderrPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día