6f26c05167d991d820c170adb4845d9baaf2a04f
[oweals/musl.git] / src / passwd / putgrent.c
1 #include <grp.h>
2 #include <stdio.h>
3
4 int putgrent(const struct group *gr, FILE *f)
5 {
6         int r;
7         size_t i;
8         flockfile(f);
9         if ((r = fprintf(f, "%s:%s:%d:", gr->gr_name, gr->gr_passwd, gr->gr_gid))<0) goto done;
10         if (gr->gr_mem) for (i=0; gr->gr_mem[i]; i++)
11                 if ((r = fprintf(f, "%s%s", i?",":"", gr->gr_mem[i]))<0) goto done;
12         r = fputc('\n', f);
13 done:
14         funlockfile(f);
15         return r<0 ? -1 : 0;
16 }