Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

Floating point URI arguments are not parsed correctly

Abierto
#8 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
55/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
cpp
Área
backend

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

bug

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

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de INRIA/libpointing

Todos los issues de INRIA/libpointing

Issues similares

Más issues de C++

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.