blob: e386bc9f6f76b3ac6f2b5d1071576a1d018ce7ce [file] [log] [blame]
bigbiff bigbiff9c754052013-01-09 09:09:08 -05001/*
2** Copyright 2002 University of Illinois Board of Trustees
3** Copyright 2002 Mark D. Roth
4** All rights reserved.
5**
6** getservbyname_r.c - getservbyname_r() function for compatibility library
7**
8** Mark D. Roth <roth@uiuc.edu>
9** Campus Information Technologies and Educational Services
10** University of Illinois at Urbana-Champaign
11*/
12
13#include <config.h>
14
15#include <stdio.h>
16#include <sys/types.h>
17#include <netdb.h>
18
19
20int
21compat_getservbyname_r(const char *name, const char *proto,
22 struct servent *sp, char *buf, size_t buflen,
23 struct servent **spp)
24{
25#if GETSERVBYNAME_R_NUM_ARGS == 5
26 *spp = getservbyname_r(name, proto, sp, buf, buflen);
27
28 if (*spp == NULL)
29 return -1;
30 return 0;
31#elif GETSERVBYNAME_R_NUM_ARGS == 4
32 struct servent_data sdata;
33
34 if (getservbyname_r(name, proto, sp, &sdata) == -1)
35 return -1;
36 *spp = sp;
37 return 0;
38#endif /* GETSERVBYNAME_R_NUM_ARGS == 5 */
39}
40
41