aboutsummaryrefslogtreecommitdiff
path: root/src/passwd/getspnam.c
blob: 1a3d2ffe876939c56069d9b4b3dc8a42840db265 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "pwf.h"

#define LINE_LIM 256

struct spwd *getspnam(const char *name)
{
	static struct spwd sp;
	static char *line;
	struct spwd *res;
	int e;
	int orig_errno = errno;

	if (!line) line = malloc(LINE_LIM);
	if (!line) return 0;
	e = getspnam_r(name, &sp, line, LINE_LIM, &res);
	errno = e ? e : orig_errno;
	return res;
}


#ifdef TEST
int
main(void) {
	return 0;
}
#endif