From 765573e95d7bcd0fc75cff136bf75900cf0695f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Fri, 3 Jan 1997 21:06:50 -0800 Subject: [PATCH] connect() now recognizes ip-names starting with numbers Rev: src/modules/files/file.c:1.20 --- src/modules/files/file.c | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/modules/files/file.c b/src/modules/files/file.c index 29a575f3de..d7ecfad679 100644 --- a/src/modules/files/file.c +++ b/src/modules/files/file.c @@ -6,7 +6,7 @@ #define READ_BUFFER 16384 #include "global.h" -RCSID("$Id: file.c,v 1.19 1996/12/15 15:50:37 hubbe Exp $"); +RCSID("$Id: file.c,v 1.20 1997/01/04 05:06:50 hubbe Exp $"); #include "types.h" #include "interpret.h" #include "svalue.h" @@ -1223,6 +1223,27 @@ static void file_connect(INT32 args) } } +static int isipnr(char *s) +{ + int e,i; + for(e=0;e<3;e++) + { + i=0; + while(*s==' ') s++; + while(*s>='0' && *s<='9') s++,i++; + if(!i) return 0; + if(*s!='.') return 0; + s++; + } + i=0; + while(*s==' ') s++; + while(*s>='0' && *s<='9') s++,i++; + if(!i) return 0; + while(*s==' ') s++; + if(*s) return 0; + return 1; +} + void get_inet_addr(struct sockaddr_in *addr,char *name) { MEMSET((char *)addr,0,sizeof(struct sockaddr_in)); @@ -1232,7 +1253,7 @@ void get_inet_addr(struct sockaddr_in *addr,char *name) { addr->sin_addr.s_addr=htonl(INADDR_ANY); } - else if(name[0]>='0' && name[0]<='9') + else if(isipnr(name)) { if ((long)inet_addr(name) == (long)-1) error("Malformed ip number.\n"); -- GitLab