* Copyright (c) 1983 Regents of the University of California.
* Redistribution and use in source and binary forms are permitted
* provided that this notice is preserved and that due credit is given
* to the University of California at Berkeley. The name of the University
* may not be used to endorse or promote products derived from this
* software without specific prior written permission. This software
* is provided ``as is'' without express or implied warranty.
#if defined(LIBC_SCCS) && !defined(lint)
static char sccsid
[] = "@(#)getprotoent.c 5.4 (Berkeley) %G%";
#endif /* LIBC_SCCS and not lint */
static char PROTODB
[] = "/etc/protocols";
static FILE *protof
= NULL
;
static char line
[BUFSIZ
+1];
static struct protoent proto
;
static char *proto_aliases
[MAXALIASES
];
protof
= fopen(PROTODB
, "r" );
if (protof
== NULL
&& (protof
= fopen(PROTODB
, "r" )) == NULL
)
if ((p
= fgets(line
, BUFSIZ
, protof
)) == NULL
)
while (*cp
== ' ' || *cp
== '\t')
proto
.p_proto
= atoi(cp
);
q
= proto
.p_aliases
= proto_aliases
;
if (*cp
== ' ' || *cp
== '\t') {
if (q
< &proto_aliases
[MAXALIASES
- 1])
for (mp
= match
; *mp
; mp
++)