Dopo sette anni dall'ultima release e dodici anni e mezzo dalla pubblicazione della versione 2.7, è stata rilasciata l'utility GNU patch 2.8. L'utility consente di applicare ai file patch che includono elenchi di modifiche generati dal programma diff. Il codice è scritto in linguaggio C e viene distribuito sotto licenza GPLv3+.
Nella nuova versione:
- Risolto il problema dell'anno 2038: l'utility ora gestisce correttamente i dati temporali dei file creati dopo il 2038, anche su piattaforme con tipo time_t a 32 bit.
- L'opzione «—follow-symlinks» si applica ora non solo ai file di input, ma anche ai file creati.
- In conformità ai requisiti dello standard POSIX.1-2024, è vietato l'uso del carattere di nuova linea nei nomi dei file.
- È vietato l'uso di byte nulli (‘\0’) nelle stringhe con le direttive diff.
- È consentita l’indicazione di spazi e tabulazioni prima e dopo i valori delle righe.
- È stato lavorato per escludere comportamenti indefiniti o non corretti in situazioni non standard, ad esempio durante la gestione di campi di dimensioni molto grandi, errori di input/output, mancanza di memoria, stati di gara e invio di segnali in momenti inappropriati.
- Rimosso il vecchio codice «Plan B», creato per sistemi con puntatori a 16 bit.
- Aumentati i requisiti per il compilatore, che ora deve supportare lo standard C99 (in precedenza era richiesto C89).
- Aggiunta la compatibilità con le nuove versioni di GCC, Autoconf e Gnulib.
Fonte: opennet.ru
