- DONE:
- return rv;
-}
-#endif
-
-/**********************************************************************/
-
-#define GETXXKEY_R_FUNC getpwnam_r
-#define GETXXKEY_R_PARSER bb__parsepwent
-#define GETXXKEY_R_ENTTYPE struct passwd
-#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->pw_name, key))
-#define GETXXKEY_R_KEYTYPE const char *__restrict
-#define GETXXKEY_R_PATHNAME _PATH_PASSWD
-#include "pwd_grp_internal.c"
-
-#define GETXXKEY_R_FUNC getgrnam_r
-#define GETXXKEY_R_PARSER bb__parsegrent
-#define GETXXKEY_R_ENTTYPE struct group
-#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->gr_name, key))
-#define GETXXKEY_R_KEYTYPE const char *__restrict
-#define GETXXKEY_R_PATHNAME _PATH_GROUP
-#include "pwd_grp_internal.c"
-
-#if ENABLE_USE_BB_SHADOW
-#define GETXXKEY_R_FUNC getspnam_r
-#define GETXXKEY_R_PARSER bb__parsespent
-#define GETXXKEY_R_ENTTYPE struct spwd
-#define GETXXKEY_R_TEST(ENT) (!strcmp((ENT)->sp_namp, key))
-#define GETXXKEY_R_KEYTYPE const char *__restrict
-#define GETXXKEY_R_PATHNAME _PATH_SHADOW
-#include "pwd_grp_internal.c"
-#endif
-
-#define GETXXKEY_R_FUNC getpwuid_r
-#define GETXXKEY_R_PARSER bb__parsepwent
-#define GETXXKEY_R_ENTTYPE struct passwd
-#define GETXXKEY_R_TEST(ENT) ((ENT)->pw_uid == key)
-#define GETXXKEY_R_KEYTYPE uid_t
-#define GETXXKEY_R_PATHNAME _PATH_PASSWD
-#include "pwd_grp_internal.c"
-
-#define GETXXKEY_R_FUNC getgrgid_r
-#define GETXXKEY_R_PARSER bb__parsegrent
-#define GETXXKEY_R_ENTTYPE struct group
-#define GETXXKEY_R_TEST(ENT) ((ENT)->gr_gid == key)
-#define GETXXKEY_R_KEYTYPE gid_t
-#define GETXXKEY_R_PATHNAME _PATH_GROUP
-#include "pwd_grp_internal.c"
-
-/**********************************************************************/
-/* TODO: audit & stop using these in bbox, they pull in static buffers */
-
-/* This one has many users */
-struct passwd *getpwuid(uid_t uid)
-{
- struct statics *S;
- struct passwd *resultbuf = RESULTBUF(getpwuid);
- char *buffer = BUFFER(getpwuid);
- struct passwd *result;
-
- getpwuid_r(uid, resultbuf, buffer, sizeof(BUFFER(getpwuid)), &result);
- return result;
-}
-
-/* This one has many users */
-struct group *getgrgid(gid_t gid)
-{
- struct statics *S;
- struct group *resultbuf = RESULTBUF(getgrgid);
- char *buffer = BUFFER(getgrgid);
- struct group *result;
-
- getgrgid_r(gid, resultbuf, buffer, sizeof(BUFFER(getgrgid)), &result);