fix inet_aton problem Modified: trunk/reactos/services/dhcp/compat.c Modified: trunk/reactos/services/dhcp/dhclient.c Modified: trunk/reactos/services/dhcp/include/rosdhcp.h _____
Modified: trunk/reactos/services/dhcp/compat.c --- trunk/reactos/services/dhcp/compat.c 2005-10-22 19:46:00 UTC (rev 18686) +++ trunk/reactos/services/dhcp/compat.c 2005-10-22 20:02:03 UTC (rev 18687) @@ -30,6 +30,7 @@
return ret; }
+ int inet_aton(const char *cp, struct in_addr *inp) { inp->S_un.S_addr = inet_addr(cp); @@ -38,3 +39,4 @@
return 1; } + _____
Modified: trunk/reactos/services/dhcp/dhclient.c --- trunk/reactos/services/dhcp/dhclient.c 2005-10-22 19:46:00 UTC (rev 18686) +++ trunk/reactos/services/dhcp/dhclient.c 2005-10-22 20:02:03 UTC (rev 18687) @@ -1986,7 +1986,7 @@
ipv4addrs(char * buf) { char *tmp; - unsigned long jnk; + struct in_addr jnk; int i = 0;
note("Input: %s\n", buf); @@ -1994,8 +1994,7 @@ do { tmp = strtok(buf, " "); note("got %s\n", tmp); - jnk = inet_addr( tmp ); - if( tmp ) i++; + if( tmp && inet_aton(tmp, &jnk) ) i++; buf = NULL; } while( tmp );
_____
Modified: trunk/reactos/services/dhcp/include/rosdhcp.h --- trunk/reactos/services/dhcp/include/rosdhcp.h 2005-10-22 19:46:00 UTC (rev 18686) +++ trunk/reactos/services/dhcp/include/rosdhcp.h 2005-10-22 20:02:03 UTC (rev 18687) @@ -67,5 +67,6 @@
extern DWORD DSLeaseIpAddress( PipeSendFunc Send, COMM_DHCP_REQ *Req ); extern DWORD DSRenewIpAddressLease( PipeSendFunc Send, COMM_DHCP_REQ *Req ); extern DWORD DSReleaseIpAddressLease( PipeSendFunc Send, COMM_DHCP_REQ *Req ); +extern int inet_aton(const char *s, struct in_addr *addr); int warn( char *format, ... ); #endif/*ROSDHCP_H*/