/* ** Copyright 2002 University of Illinois Board of Trustees ** Copyright 2002 Mark D. Roth ** All rights reserved. ** ** getservbyname_r.c - getservbyname_r() function for compatibility library ** ** Mark D. Roth ** Campus Information Technologies and Educational Services ** University of Illinois at Urbana-Champaign */ #include #include #include #include int compat_getservbyname_r(const char *name, const char *proto, struct servent *sp, char *buf, size_t buflen, struct servent **spp) { #if GETSERVBYNAME_R_NUM_ARGS == 5 *spp = getservbyname_r(name, proto, sp, buf, buflen); if (*spp == NULL) return -1; return 0; #elif GETSERVBYNAME_R_NUM_ARGS == 4 struct servent_data sdata; if (getservbyname_r(name, proto, sp, &sdata) == -1) return -1; *spp = sp; return 0; #endif /* GETSERVBYNAME_R_NUM_ARGS == 5 */ }