simplify nscd lookup code for alt passwd/group backends
authorRich Felker <dalias@aerifal.cx>
Mon, 16 Mar 2015 03:33:59 +0000 (23:33 -0400)
committerRich Felker <dalias@aerifal.cx>
Mon, 16 Mar 2015 03:33:59 +0000 (23:33 -0400)
commit49d1e7f93129cdcc2ab0cc91832b8a29ccd1570d
tree7a852d0cf7297b73e6eedc6680f79234c6d290ea
parent2894a44b40e460fc4112988407818439f2e9672d
simplify nscd lookup code for alt passwd/group backends

previously, a sentinel value of (FILE *)-1 was used to inform the
caller of __nscd_query that nscd is not in use. aside from being an
ugly hack, this resulted in duplicate code paths for two logically
equivalent cases: no nscd, and "not found" result from nscd.

now, __nscd_query simply skips closing the socket and returns a valid
FILE pointer when nscd is not in use, and produces a fake "not found"
response header. the caller is then responsible for closing the socket
just like it would do if it had gotten a real "not found" response.
src/passwd/getgr_a.c
src/passwd/getgrouplist.c
src/passwd/getpw_a.c
src/passwd/nscd_query.c