Después de siete años desde la última versión y doce años y medio desde la publicación de la rama 2.7, se presenta la versión 2.8 de la utilidad GNU patch. Esta utilidad permite aplicar parches a archivos, que incluyen listas de cambios generadas por el programa diff. El código está escrito en C y se distribuye bajo la licencia GPLv3+.
En la nueva versión:
- Se ha resuelto el problema del año 2038: la utilidad ahora maneja correctamente los datos de tiempo de archivos creados después de 2038, incluso en plataformas con un tipo time_t de 32 bits.
- La opción «—follow-symlinks» ahora se aplica no solo a los archivos de entrada, sino también a los archivos generados.
- De acuerdo con los requisitos de la norma POSIX.1-2024, se prohíbe el uso del carácter de nueva línea en nombres de archivos.
- Se prohíbe el uso de bytes nulos (‘\0’) en cadenas con directivas diff.
- Se permite especificar espacios y tabulaciones antes y después de los valores de los números de línea.
- Se ha trabajado en eliminar comportamientos indefinidos o incorrectos en situaciones excepcionales, como el manejo de tamaños de campo muy grandes, errores de entrada/salida, falta de memoria, condiciones de carrera y el envío de señales en momentos inapropiados.
- Se ha eliminado el antiguo código «Plan B», creado para sistemas con punteros de 16 bits.
- Se han incrementado los requisitos para el compilador, que ahora debe ser compatible con el estándar C99 (anteriormente se requería C89).
- Se ha añadido soporte para nuevas versiones de GCC, Autoconf y Gnulib.
Fuente: opennet.ru
