|
|
1.1 ! root 1: /* ! 2: * Copyright (c) 1983 Regents of the University of California. ! 3: * All rights reserved. The Berkeley software License Agreement ! 4: * specifies the terms and conditions for redistribution. ! 5: */ ! 6: ! 7: #if defined(LIBC_SCCS) && !defined(lint) ! 8: static char sccsid[] = "@(#)getprotoname.c 5.3 (Berkeley) 5/19/86"; ! 9: #endif LIBC_SCCS and not lint ! 10: ! 11: #include <netdb.h> ! 12: ! 13: extern int _proto_stayopen; ! 14: ! 15: struct protoent * ! 16: getprotobyname(name) ! 17: register char *name; ! 18: { ! 19: register struct protoent *p; ! 20: register char **cp; ! 21: ! 22: setprotoent(_proto_stayopen); ! 23: while (p = getprotoent()) { ! 24: if (strcmp(p->p_name, name) == 0) ! 25: break; ! 26: for (cp = p->p_aliases; *cp != 0; cp++) ! 27: if (strcmp(*cp, name) == 0) ! 28: goto found; ! 29: } ! 30: found: ! 31: if (!_proto_stayopen) ! 32: endprotoent(); ! 33: return (p); ! 34: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.