OLD | NEW |
1 #include "pwf.h" | 1 #include "pwf.h" |
2 | 2 |
3 static FILE *f; | 3 static FILE* f; |
4 static char *line, **mem; | 4 static char *line, **mem; |
5 static struct group gr; | 5 static struct group gr; |
6 | 6 |
7 void setgrent() | 7 void setgrent() { |
8 { | 8 if (f) |
9 » if (f) fclose(f); | 9 fclose(f); |
10 » f = 0; | 10 f = 0; |
11 } | 11 } |
12 | 12 |
13 weak_alias(setgrent, endgrent); | 13 weak_alias(setgrent, endgrent); |
14 | 14 |
15 struct group *getgrent() | 15 struct group* getgrent() { |
16 { | 16 struct group* res; |
17 » struct group *res; | 17 size_t size = 0, nmem = 0; |
18 » size_t size=0, nmem=0; | 18 if (!f) |
19 » if (!f) f = fopen("/etc/group", "rbe"); | 19 f = fopen("/etc/group", "rbe"); |
20 » if (!f) return 0; | 20 if (!f) |
21 » __getgrent_a(f, &gr, &line, &size, &mem, &nmem, &res); | 21 return 0; |
22 » return res; | 22 __getgrent_a(f, &gr, &line, &size, &mem, &nmem, &res); |
| 23 return res; |
23 } | 24 } |
24 | 25 |
25 struct group *getgrgid(gid_t gid) | 26 struct group* getgrgid(gid_t gid) { |
26 { | 27 struct group* res; |
27 » struct group *res; | 28 size_t size = 0, nmem = 0; |
28 » size_t size=0, nmem=0; | 29 __getgr_a(0, gid, &gr, &line, &size, &mem, &nmem, &res); |
29 » __getgr_a(0, gid, &gr, &line, &size, &mem, &nmem, &res); | 30 return res; |
30 » return res; | |
31 } | 31 } |
32 | 32 |
33 struct group *getgrnam(const char *name) | 33 struct group* getgrnam(const char* name) { |
34 { | 34 struct group* res; |
35 » struct group *res; | 35 size_t size = 0, nmem = 0; |
36 » size_t size=0, nmem=0; | 36 __getgr_a(name, 0, &gr, &line, &size, &mem, &nmem, &res); |
37 » __getgr_a(name, 0, &gr, &line, &size, &mem, &nmem, &res); | 37 return res; |
38 » return res; | |
39 } | 38 } |
OLD | NEW |