Po siedmiu latach od poprzedniego wydania i dwunastu i pół roku od momentu publikacji wersji 2.7, przedstawiamy wydanie narzędzia GNU patch 2.8. Narzędzie to pozwala na zastosowanie do plików łat, które zawierają listy zmian, stworzone przez program diff. Kod został napisany w języku C i jest udostępniany na licencji GPLv3+.
W nowej wersji:
- Rozwiązano problem roku 2038 — narzędzie teraz poprawnie obsługuje dane o czasie plików stworzonych po roku 2038, nawet na platformach z 32-bitowym typem time_t.
- Opcja «—follow-symlinks» teraz dotyczy nie tylko plików wejściowych, ale również plików tworzonych.
- Zgodnie z wymaganiami standardu POSIX.1-2024 zabroniono użycia znaku nowej linii w nazwach plików.
- Zabroniono używania zerowych bajtów (‘\0’) w łańcuchach z dyrektywami diff.
- Dozwolone jest wprowadzanie spacji i tabulacji przed i po wartościach z numerami linii.
- Dokonano pracy nad wyeliminowaniem nieokreślonego lub niepoprawnego zachowania w nietypowych sytuacjach, na przykład przy przetwarzaniu bardzo dużych rozmiarów pól, błędach wejścia/wyjścia, niedoborach pamięci, stanach wyścigu i wysyłaniu sygnałów w nieodpowiednich momentach.
- Usunięto stary kod «Plan B», stworzony dla systemów z 16-bitowymi wskaźnikami.
- Podniesiono wymagania dotyczące kompilatora, który teraz musi wspierać standard C99 (wcześniej wymagany był C89).
- Dodano wsparcie dla nowych wersji GCC, Autoconf i Gnulib.
Źródło: opennet.ru
