possible patch regarding problems parsing /etc/protocols
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
Signature · 5 lines
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.
utils.c +31 -0
@@ -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,