Use pclose() instead of fclose()
The return value from popen() is a normal standard I/O stream in all
respects save that it must be closed with pclose() rather than
fclose(3).
Solves the following warning when compiled with -Wmismatched-dealloc:
errno.c: In function ‘search_all’:
errno.c:126:5: warning: ‘fclose’ called on pointer returned from a
mismatched allocation function
[-Wmismatched-dealloc]
126 | fclose(f);
| ^~~~~~~~~
errno.c:113:9: note: returned from ‘popen’
113 | f = popen("locale -a", "r");
| ^~~~~~~~~~~~~~~~~~~~~~~