Mimo że Linux 7.1 dopiero zaczął trafiać do użytkowników, w gałęzi prowadzącej do wydania Linux 7.2 pojawiają się kolejne poprawki. Jedna z istotniejszych porządkuje ostatnie pozostałości po strncpy — funkcji, z którą zespół rozwijający jądro mierzył się od lat.
W opisie zaakceptowanej zmiany wskazano, że to API regularnie powodowało problemy, bo jego rola bywała interpretowana różnie, a sama semantyka często okazywała się mało intuicyjna. Wprost zapisano, że "strncpy() było stałym źródłem błędów z powodu niejednoznacznego przeznaczenia i często nieintuicyjnej semantyki", co ostatecznie przesądziło o decyzji, by całkowicie usunąć je z jądra Linux.
Jednym z kłopotów było to, że strncpy nie zawsze kończyło rezultat znakiem NUL. Do tego funkcja miała zwyczaj automatycznie dopełniać zerami cały zadany limit długości, nawet gdy w praktyce nie było to potrzebne — a to zwiększało ryzyko pomyłek i niepożądanego zachowania kodu.
WIDEOSpotify usuwa podcasty z reklamami aptek?
Z dostępnych informacji wynika, że wycofywanie strncpy rozciągnęło się na okres dłuższy niż sześć lat i objęło ponad 360 commitów. Najwięcej zmian przypisano Justinowi Stittowi — w zestawieniu autorów widnieje przy nim 211 commitów związanych z tym zadaniem.
Usunięcie strncpy ma zostać domknięte w Linuksie 7.2 jeszcze przed startem fazy release candidate, zaplanowanej na 28 czerwca. Jeśli harmonogram nie ulegnie zmianie, w kolejnych krokach rozwoju ta modyfikacja dotrze do szerszego grona użytkowników oraz programistów pracujących na jądrze.
Cała ta historia dobrze pokazuje, jak wygląda tempo prac w otwartym modelu rozwijania jądra. Na bieżąco widać, jakie poprawki Linus Torvalds przyjmuje do następnych wydań, a pożegnanie z strncpy jest wskazywane jako jedna z bardziej znaczących i symbolicznych zmian planowanych dla Linuksa 7.2.