possible patch regarding problems parsing /etc/protocols

Per Jessen <[email protected]>
Newsgroups gmane.linux.diald
Organization n/a
Message-ID <[email protected]>
All,
I'm sure there is a reason why utils.c isn't using the getservent/getprotoent services from netdb.h - 
maybe platform related ? I don't know - but here is a patch that 1) uses those services for accessing
/etc/protocols and /etc/services, and thereby fixes the minor problem with comments in either file.
At least it works on Linux. 

http://mitglied.lycos.de/pjessen/patches/patch-diald-1.0-utils

-- 

regards,
Per Jessen, Zurich
http://www.enidan.com - home of the J1 serial console.

Genius may have its limitations, but stupidity is not thus handicapped.
patch-diald-1.0-utils (text/x-diff, 1 KB)
--- diald-1.0/utils.c	Sat Jun 16 21:51:39 2001
+++ diald-1.0.pj/utils.c	Sat Oct 26 10:50:57 2002
@@ -2,6 +2,7 @@
 
 #include <diald.h>
 
+#include <netdb.h>
 
 /* Grumble. Attempt to generate a nicely formatted ascii date without
  * a built in newline.
@@ -35,6 +36,35 @@
     return i;
 }
 
+int getprotocol(const char *name)
+{
+        struct protoent *p;
+
+        return  NULL!=(p=getprotobyname(name)) ? p->p_proto : 0;
+}
+
+char *getprotonumber(int proto)
+{
+        static char buf[16];
+        struct protoent *p;
+
+        if ( NULL!=(p=getprotobynumber(proto)) )
+                strcpy(buf,p->p_name);
+        else
+                sprintf(buf, "%d", proto);
+
+        return buf;
+}
+
+
+int getservice(const char *name, const char *proto)
+{
+        struct servent *service;
+
+        return  NULL!=(service=getservbyname( name, proto)) ? ntohs(service->s_port) : 0;
+}
+
+#if 0
 struct proto {
 	char *name;
 	int proto;
@@ -151,6 +181,7 @@
         }
     return 0;
 }
+#endif
 
 #if 0
 /* Stuff needed because to keep checker happy,
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.