OLD | NEW |
1 #include "pwf.h" | 1 #include "pwf.h" |
2 #include <pthread.h> | 2 #include <pthread.h> |
3 | 3 |
4 struct spwd *fgetspent(FILE *f) | 4 struct spwd* fgetspent(FILE* f) { |
5 { | 5 static char* line; |
6 » static char *line; | 6 static struct spwd sp; |
7 » static struct spwd sp; | 7 size_t size = 0; |
8 » size_t size = 0; | 8 struct spwd* res = 0; |
9 » struct spwd *res = 0; | 9 int cs; |
10 » int cs; | 10 pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); |
11 » pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs); | 11 if (getline(&line, &size, f) >= 0 && __parsespent(line, &sp) >= 0) |
12 » if (getline(&line, &size, f) >= 0 && __parsespent(line, &sp) >= 0) res =
&sp; | 12 res = &sp; |
13 » pthread_setcancelstate(cs, 0); | 13 pthread_setcancelstate(cs, 0); |
14 » return res; | 14 return res; |
15 } | 15 } |
OLD | NEW |