OLD | NEW |
1 #define _GNU_SOURCE | 1 #define _GNU_SOURCE |
2 #include <grp.h> | 2 #include <grp.h> |
3 #include <stdio.h> | 3 #include <stdio.h> |
4 | 4 |
5 int putgrent(const struct group *gr, FILE *f) | 5 int putgrent(const struct group* gr, FILE* f) { |
6 { | 6 int r; |
7 » int r; | 7 size_t i; |
8 » size_t i; | 8 flockfile(f); |
9 » flockfile(f); | 9 if ((r = fprintf(f, "%s:%s:%d:", gr->gr_name, gr->gr_passwd, gr->gr_gid)) < 0) |
10 » if ((r = fprintf(f, "%s:%s:%d:", gr->gr_name, gr->gr_passwd, gr->gr_gid)
)<0) goto done; | 10 goto done; |
11 » if (gr->gr_mem) for (i=0; gr->gr_mem[i]; i++) | 11 if (gr->gr_mem) |
12 » » if ((r = fprintf(f, "%s%s", i?",":"", gr->gr_mem[i]))<0) goto do
ne; | 12 for (i = 0; gr->gr_mem[i]; i++) |
13 » r = fputc('\n', f); | 13 if ((r = fprintf(f, "%s%s", i ? "," : "", gr->gr_mem[i])) < 0) |
| 14 goto done; |
| 15 r = fputc('\n', f); |
14 done: | 16 done: |
15 » funlockfile(f); | 17 funlockfile(f); |
16 » return r<0 ? -1 : 0; | 18 return r < 0 ? -1 : 0; |
17 } | 19 } |
OLD | NEW |