1*c9945492SAndroid Build Coastguard Worker #include "pwf.h" 2*c9945492SAndroid Build Coastguard Worker 3*c9945492SAndroid Build Coastguard Worker #define LINE_LIM 256 4*c9945492SAndroid Build Coastguard Worker getspnam(const char * name)5*c9945492SAndroid Build Coastguard Workerstruct spwd *getspnam(const char *name) 6*c9945492SAndroid Build Coastguard Worker { 7*c9945492SAndroid Build Coastguard Worker static struct spwd sp; 8*c9945492SAndroid Build Coastguard Worker static char *line; 9*c9945492SAndroid Build Coastguard Worker struct spwd *res; 10*c9945492SAndroid Build Coastguard Worker int e; 11*c9945492SAndroid Build Coastguard Worker int orig_errno = errno; 12*c9945492SAndroid Build Coastguard Worker 13*c9945492SAndroid Build Coastguard Worker if (!line) line = malloc(LINE_LIM); 14*c9945492SAndroid Build Coastguard Worker if (!line) return 0; 15*c9945492SAndroid Build Coastguard Worker e = getspnam_r(name, &sp, line, LINE_LIM, &res); 16*c9945492SAndroid Build Coastguard Worker errno = e ? e : orig_errno; 17*c9945492SAndroid Build Coastguard Worker return res; 18*c9945492SAndroid Build Coastguard Worker } 19