* Copyright (c) 1983, 1993
* The Regents of the University of California. All rights reserved.
* %sccs.include.redist.c%
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)getservbyname.c 8.1 (Berkeley) %G%";
#endif /* LIBC_SCCS and not lint */
extern int _serv_stayopen
;
getservbyname(name
, proto
)
const char *name
, *proto
;
register struct servent
*p
;
setservent(_serv_stayopen
);
while (p
= getservent()) {
if (strcmp(name
, p
->s_name
) == 0)
for (cp
= p
->s_aliases
; *cp
; cp
++)
if (strcmp(name
, *cp
) == 0)
if (proto
== 0 || strcmp(p
->s_proto
, proto
) == 0)