summaryrefslogtreecommitdiff
path: root/usr/src/cmd/ipf/lib/common/getproto.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr/src/cmd/ipf/lib/common/getproto.c')
-rw-r--r--usr/src/cmd/ipf/lib/common/getproto.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/usr/src/cmd/ipf/lib/common/getproto.c b/usr/src/cmd/ipf/lib/common/getproto.c
index 43a3029f47..472fe148ab 100644
--- a/usr/src/cmd/ipf/lib/common/getproto.c
+++ b/usr/src/cmd/ipf/lib/common/getproto.c
@@ -1,3 +1,8 @@
+/*
+ * Copyright (C) 1993-2005 by Darren Reed.
+ * See the IPFILTER.LICENCE file for details on licencing.
+ */
+
#include "ipf.h"
int getproto(name)
@@ -7,11 +12,19 @@ char *name;
char *s;
for (s = name; *s != '\0'; s++)
- if (!isdigit(*s))
+ if (!ISDIGIT(*s))
break;
if (*s == '\0')
return atoi(name);
+#ifdef _AIX51
+ /*
+ * For some bogus reason, "ip" is 252 in /etc/protocols on AIX 5
+ */
+ if (!strcasecmp(name, "ip"))
+ return 0;
+#endif
+
p = getprotobyname(name);
if (p != NULL)
return p->p_proto;