From 4abab5ad6c8465a7528ccdd5f49367da05f78bbd Mon Sep 17 00:00:00 2001 From: Vladimir Azarov Date: Tue, 1 Oct 2024 15:47:05 +0200 Subject: Initial version --- src/passwd/putgrent.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/passwd/putgrent.c (limited to 'src/passwd/putgrent.c') diff --git a/src/passwd/putgrent.c b/src/passwd/putgrent.c new file mode 100644 index 0000000..2a8257d --- /dev/null +++ b/src/passwd/putgrent.c @@ -0,0 +1,17 @@ +#define _GNU_SOURCE +#include +#include + +int putgrent(const struct group *gr, FILE *f) +{ + int r; + size_t i; + flockfile(f); + if ((r = fprintf(f, "%s:%s:%u:", gr->gr_name, gr->gr_passwd, gr->gr_gid))<0) goto done; + if (gr->gr_mem) for (i=0; gr->gr_mem[i]; i++) + if ((r = fprintf(f, "%s%s", i?",":"", gr->gr_mem[i]))<0) goto done; + r = fputc('\n', f); +done: + funlockfile(f); + return r<0 ? -1 : 0; +} -- cgit v1.2.3