След седем години от последното издание и дванадесет и половина години от публикуването на клон 2.7, е представено изданието на утилитата GNU patch 2.8. Утилитата позволява прилагане на пачове към файлове, включващи списъци с промени, създадени от програмата diff. Кодът е написан на езика C и се разпространява под лицензия GPLv3+.
В новата версия:
- Решен е проблемът с 2038 година — утилитата вече коректно обработва данни за времето на файлове, създадени след 2038 година, дори на платформи с 32-битова time_t.
- Опцията «—follow-symlinks» вече се прилага не само за входящи файлове, но и за създаваните файлове.
- В съответствие с изискванията на стандарта POSIX.1-2024, забранено е използването на символа за нов ред в имената на файлове.
- Забранено е използването на нулеви байтове (‘\0’) в низове с директиви diff.
- Позволено е указването на интервали и табулации преди и след стойностите с номера на редове.
- Направена е работа по изключването на неопределено или некоректно поведение в извънредни ситуации, например при обработка на много големи размери на полета, грешки при вход/изход, недостиг на памет, състезателни състояния и изпращане на сигнали в неподходящи моменти.
- Премахнат е старият код «Plan B», създаден за системи с 16-битови указатели.
- Повишени са изискванията към компилятора, който вече трябва да поддържа стандарта C99 (по-рано се изискваше C89).
- Добавена е поддръжка на новите версии на GCC, Autoconf и Gnulib.
Източник: opennet.ru
