diff options
| author | Jakob Kaivo <jkk@ung.org> | 2024-01-30 15:45:38 -0500 |
|---|---|---|
| committer | Jakob Kaivo <jkk@ung.org> | 2024-01-30 15:45:38 -0500 |
| commit | bafccb2f57ac1a1852be2d6aafe33cf02d1630c1 (patch) | |
| tree | a6164b42b37b941cb64bbc3db8af7a1daf381ace /src/grp/getgrent.c | |
| parent | 910a86c095b6d7311d73fa88a632aa9b673243b2 (diff) | |
update dependencies
Diffstat (limited to 'src/grp/getgrent.c')
| -rw-r--r-- | src/grp/getgrent.c | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/src/grp/getgrent.c b/src/grp/getgrent.c deleted file mode 100644 index 5b455ae7..00000000 --- a/src/grp/getgrent.c +++ /dev/null @@ -1,94 +0,0 @@ -#if 0 - -#if ((!defined _POSIX_C_SOURCE) || (_POSIX_C_SOURCE < 2)) -#undef _POSIX_C_SOURCE -#define _POSIX_C_SOURCE 2 -#endif - -#include <sys/types.h> -#include <grp.h> -#include <stdlib.h> -#include <stdio.h> -#include <limits.h> -#include <string.h> -#include "_config.h" -#include "_grp.h" - -#ifndef LINE_MAX -#define LINE_MAX _POSIX2_LINE_MAX -#endif - -#ifndef _XOPEN_SOURCE -static -#endif - -struct group * getgrent(void) -{ - static char buf[LINE_MAX + 1]; - char *group, *password, *gid, *members, *nl; - int member = 0; - - /* TODO: attempt first calling _GRP_CMD */ - - if (__grp.db == NULL) { - __grp.db = fopen(_GRP_DB, "r"); - if (__grp.db == NULL) { - return NULL; - } - } - - if (fgets(buf, sizeof(buf), __grp.db) == NULL) { - endgrent(); - return NULL; - } - - group = buf; - if ((password = strchr(buf, ':')) != NULL) { - *password = '\0'; - password++; - } else { - return NULL; - } - - if ((gid = strchr(password, ':')) != NULL) { - *gid = '\0'; - gid++; - } else { - return NULL; - } - - if ((members = strchr(gid, ':')) != NULL) { - *members = '\0'; - members++; - if ((nl = strchr(members, '\n')) != NULL) { - *nl = '\0'; - } - } else { - return NULL; - } - - __grp.grp.gr_name = group; - __grp.grp.gr_gid = strtoul(gid, NULL, 10); - - while (members && *members) { - __grp.members[member++] = members; - members = strchr(members, ','); - if (members) { - *members = '\0'; - members++; - } - } - - __grp.members[member] = NULL; - - __grp.grp.gr_mem = __grp.members; - - return &__grp.grp; -} - -/* -XOPEN(400) -*/ - - -#endif |
