Don't rely on path_max
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 45/100
- Tipo de issue
- Refactorización
- Claridad
- Bastante claro
- Estado de actividad
- Estancado
- Stack tecnológico
- c, linux
- Área
- cli, operating-systems
Línea de trabajo
Comienza localizando cada uso de PATH_MAX relacionado con realpath(3) y readlink(2); después, inspecciona los alias static inline de realpath para Windows y FF_EXE_PATH_LEN de terminalshell_linux. Compara el comportamiento de asignación en Hurd y Linux, y considera si unos helpers compartidos pueden reemplazar las condicionales dispersas; se considera terminado cuando el hack de PATH_MAX de Hurd ya no sea necesario sin romper estas rutas específicas de cada plataforma.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Hi,
Following up to my comment in https://github.com/fastfetch-cli/fastfetch/issues/1895#issuecomment-3206602801 on PATH_MAX.
I would like to get rid of the -DPATH_MAX=4096 hack for hurd.
I had a look where PATH_MAX is used and it is used only for realpath(3) and readlink(2) to allocate a buffer that will be "big enough".
For realpath glibc will allocate a buffer for us with the result when the output is NULL. (this case is not specified by posix). I don't think this is something that other libcs implement though.
The man page for readlink also suggests to not rely on PATH_MAX and suggests to use stat.st_size from lstat and malloc a buffer manually.
The problem with this approach is that while lstat on /proc returns sensible values on hurd e.g. on linux the size is 0 so the PATH_MAX approach is still needed.
Also there are currently at least 2 static inline realpath aliases for windows.
terminalshell_linux has a FF_EXE_PATH_LEN instead.
Before I start to make this work would it make sense to consolidate this into new helpers to not litter #ifdef PATH_MAX everywhere?
- Lenguaje dominante
- C
- Estrellas
- 24.9k
- Forks
- 911
- Merge medio
- 17 h 28 min
- PR fusionados (30 d)
- 20
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
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 fastfetch-cli/fastfetch
-
[LOGO] Keenetic OSPosiblemente ocupada @Ivan-Alone la tomó hace 4 días. Abiertologo request
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fastfetch-cli/fastfetch#2646 ·
Los mantenedores suelen responder en 1 día
-
[LOGO] Darkian LinuxPosiblemente ocupada @lordpipon la tomó hace 4 días. Abiertologo request
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
fastfetch-cli/fastfetch#2644 ·
Los mantenedores suelen responder en 1 día
-
[LOGO] ArmadaOSPosiblemente ocupada @Tyagiquamar la tomó hace 1 día. Abiertologo request
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fastfetch-cli/fastfetch#2641 ·
Los mantenedores suelen responder en 1 día
-
[LOGO] OxyohanOSAbiertologo request
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
fastfetch-cli/fastfetch#2638 ·
Los mantenedores suelen responder en 1 día
-
Failed to resolve logo sourceAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
fastfetch-cli/fastfetch#2628 · 3 comentarios ·
Los mantenedores suelen responder en 1 día
Todos los issues de fastfetch-cli/fastfetch
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
FujiNetWIFI/fujinet-lib#115 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
firmware: transmit() doesn't reset rfTxCurBufIdx, so RFxmit after RFxmitLong can send wrong bytesPosiblemente ocupada @hermes-crew-337 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
atlas0fd00m/rfcat#182 ·
-
followup
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
Los mantenedores suelen responder en 4 días
-
question
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100