/* Close the group-file stream. */
extern void endgrent(void);
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
/* Read an entry from the group-file stream, opening it if necessary. */
extern struct group *getgrent(void);
/* Write the given entry onto the given stream. */
extern int putgrent(const struct group *__restrict __p,
FILE *__restrict __f);
+#endif
/* Search for an entry with a matching group ID. */
extern struct group *getgrgid(gid_t __gid);
#define getpwuid_r bb_internal_getpwuid_r
#define getpwnam_r bb_internal_getpwnam_r
#define fgetpwent_r bb_internal_fgetpwent_r
-//#define getpw bb_internal_getpw
/* All function names below should be remapped by #defines above
/* Close the password-file stream. */
extern void endpwent(void);
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
/* Read an entry from the password-file stream, opening it if necessary. */
extern struct passwd *getpwent(void);
/* Write the given entry onto the given stream. */
extern int putpwent(const struct passwd *__restrict __p,
FILE *__restrict __f);
+#endif
/* Search for an entry with a matching user ID. */
extern struct passwd *getpwuid(uid_t __uid);
char *__restrict __buffer, size_t __buflen,
struct passwd **__restrict __result);
-/* Re-construct the password-file line for the given uid
- in the given buffer. This knows the format that the caller
- will expect, but this need not be the format of the password file. */
-/* UNUSED extern int getpw(uid_t __uid, char *__buffer); */
-
POP_SAVED_FUNCTION_VISIBILITY
-#endif /* pwd.h */
+#endif
* TODO: audit & stop using these in bbox, they pull in static buffers */
/**********************************************************************/
-#if 0
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
struct passwd *fgetpwent(FILE *stream)
{
struct statics *S;
}
#endif
-#ifdef THIS_ONE_IS_UNUSED
-/* This one doesn't use static buffers */
-int getpw(uid_t uid, char *buf)
-{
- struct passwd resultbuf;
- struct passwd *result;
- char buffer[PWD_BUFFER_SIZE];
-
- if (!buf) {
- errno = EINVAL;
- return -1;
- }
-
- if (!getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result)) {
- if (sprintf(buf, "%s:%s:%lu:%lu:%s:%s:%s\n",
- resultbuf.pw_name, resultbuf.pw_passwd,
- (unsigned long)(resultbuf.pw_uid),
- (unsigned long)(resultbuf.pw_gid),
- resultbuf.pw_gecos, resultbuf.pw_dir,
- resultbuf.pw_shell) >= 0
- ) {
- return 0;
- }
- }
-
- return -1;
-}
-#endif
-
/**********************************************************************/
/* FIXME: we don't have such CONFIG_xx - ?! */
}
#endif
-#if 0
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
struct passwd *getpwent(void)
{
static char line_buff[PWD_BUFFER_SIZE];
return ngroups_old;
}
+#ifdef UNUSED_SINCE_WE_AVOID_STATIC_BUFS
int putpwent(const struct passwd *__restrict p, FILE *__restrict f)
{
int rv = -1;
return rv;
}
+#endif
#if ENABLE_USE_BB_SHADOW
static const unsigned char put_sp_off[] ALIGN1 = {