xref: /original-bsd/lib/libc/net/getnetbyname.c (revision 1a56dd2c)
1 /*
2  * Copyright (c) 1983 Regents of the University of California.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms are permitted
6  * provided that this notice is preserved and that due credit is given
7  * to the University of California at Berkeley. The name of the University
8  * may not be used to endorse or promote products derived from this
9  * software without specific prior written permission. This software
10  * is provided ``as is'' without express or implied warranty.
11  */
12 
13 #if defined(LIBC_SCCS) && !defined(lint)
14 static char sccsid[] = "@(#)getnetbyname.c	5.4 (Berkeley) 03/07/88";
15 #endif /* LIBC_SCCS and not lint */
16 
17 #include <netdb.h>
18 
19 extern int _net_stayopen;
20 
21 struct netent *
22 getnetbyname(name)
23 	register char *name;
24 {
25 	register struct netent *p;
26 	register char **cp;
27 
28 	setnetent(_net_stayopen);
29 	while (p = getnetent()) {
30 		if (strcmp(p->n_name, name) == 0)
31 			break;
32 		for (cp = p->n_aliases; *cp != 0; cp++)
33 			if (strcmp(*cp, name) == 0)
34 				goto found;
35 	}
36 found:
37 	if (!_net_stayopen)
38 		endnetent();
39 	return (p);
40 }
41