getusershell, setusershell, endusershell - get legal user shells
Getusershell returns a pointer to a legal user shell as defined by
the system manager in the file /etc/shells. If /etc/shells is
unreadable or does not exist, getusershell behaves as if /bin/sh
and /bin/csh were listed in the file.
Getusershell reads the next line
(opening the file if necessary);
setusershell rewinds the file; endusershell closes it.
The routine getusershell returns a null pointer (0) on EOF.
All information is contained in a static area so it must be copied
if it is to be saved.