OSDN Git Service

hidden_def/hidden_proto: convert all users (I hope) termios split, add some missing...
[uclinux-h8/uClibc.git] / libc / inet / getnetbynm.c
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 the above copyright notice and this paragraph are
7  * duplicated in all such forms and that any documentation,
8  * advertising materials, and other materials related to such
9  * distribution and use acknowledge that the software was developed
10  * by the University of California, Berkeley.  The name of the
11  * University may not be used to endorse or promote products derived
12  * from this software without specific prior written permission.
13  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16  */
17
18 #define __FORCE_GLIBC
19 #include <features.h>
20 #include <netdb.h>
21 #include <string.h>
22
23 libc_hidden_proto(strcmp)
24 libc_hidden_proto(setnetent)
25 libc_hidden_proto(getnetent)
26 libc_hidden_proto(endnetent)
27
28 extern int _net_stayopen attribute_hidden;
29
30 struct netent *
31 getnetbyname(const char *name)
32 {
33         register struct netent *p;
34         register char **cp;
35
36         setnetent(_net_stayopen);
37         while ((p = getnetent())) {
38                 if (strcmp(p->n_name, name) == 0)
39                         break;
40                 for (cp = p->n_aliases; *cp != 0; cp++)
41                         if (strcmp(*cp, name) == 0)
42                                 goto found;
43         }
44 found:
45         if (!_net_stayopen)
46                 endnetent();
47         return (p);
48 }