fix warnings
Modified: trunk/reactos/services/dhcp/alloc.c
Modified: trunk/reactos/services/dhcp/dhclient.c
Modified: trunk/reactos/services/dhcp/include/dhcpd.h
Modified: trunk/reactos/services/dhcp/options.c
Modified: trunk/reactos/services/dhcp/util.c

Modified: trunk/reactos/services/dhcp/alloc.c
--- trunk/reactos/services/dhcp/alloc.c	2005-10-21 23:44:43 UTC (rev 18669)
+++ trunk/reactos/services/dhcp/alloc.c	2005-10-22 01:46:46 UTC (rev 18670)
@@ -76,4 +76,18 @@
 	return (rval);
 }
 
-void free_hash_bucket(struct hash_bucket *hb) { free(hb); }
+void
+dfree(void *ptr, char *name)
+{
+	if (!ptr) {
+		warning("dfree %s: free on null pointer.", name);
+		return;
+	}
+	free(ptr);
+}
+
+void
+free_hash_bucket(struct hash_bucket *ptr, char *name)
+{
+	dfree(ptr, name);
+}

Modified: trunk/reactos/services/dhcp/dhclient.c
--- trunk/reactos/services/dhcp/dhclient.c	2005-10-21 23:44:43 UTC (rev 18669)
+++ trunk/reactos/services/dhcp/dhclient.c	2005-10-22 01:46:46 UTC (rev 18670)
@@ -234,7 +234,7 @@
 	/* make_request doesn't initialize xid because it normally comes
 	   from the DHCPDISCOVER, but we haven't sent a DHCPDISCOVER,
 	   so pick an xid now. */
-	ip->client->xid = arc4random();
+	ip->client->xid = rand();
 
 	/* Make a DHCPREQUEST packet, and set appropriate per-interface
 	   flags. */
@@ -940,7 +940,7 @@
 			ip->client->interval =
 			    ip->client->config->initial_interval;
 		else {
-			ip->client->interval += (arc4random() >> 2) %
+			ip->client->interval += (rand() >> 2) %
 			    (2 * ip->client->interval);
 		}
 
@@ -949,7 +949,7 @@
 		    ip->client->config->backoff_cutoff)
 			ip->client->interval =
 				((ip->client->config->backoff_cutoff / 2)
-				 + ((arc4random() >> 2) %
+				 + ((rand() >> 2) %
 				    ip->client->config->backoff_cutoff));
 	} else if (!ip->client->interval)
 		ip->client->interval =
@@ -1142,7 +1142,7 @@
 	if (!ip->client->interval)
 		ip->client->interval = ip->client->config->initial_interval;
 	else
-		ip->client->interval += ((arc4random() >> 2) %
+		ip->client->interval += ((rand() >> 2) %
 		    (2 * ip->client->interval));
 
 	/* Don't backoff past cutoff. */
@@ -1150,7 +1150,7 @@
 	    ip->client->config->backoff_cutoff)
 		ip->client->interval =
 		    ((ip->client->config->backoff_cutoff / 2) +
-		    ((arc4random() >> 2) % ip->client->interval));
+		    ((rand() >> 2) % ip->client->interval));
 
 	/* If the backoff would take us to the expiry time, just set the
 	   timeout to the expiry time. */
@@ -1280,7 +1280,7 @@
 	ip->client->packet.htype = ip->hw_address.htype;
 	ip->client->packet.hlen = ip->hw_address.hlen;
 	ip->client->packet.hops = 0;
-	ip->client->packet.xid = arc4random();
+	ip->client->packet.xid = rand();
 	ip->client->packet.secs = 0; /* filled in by send_discover. */
 	ip->client->packet.flags = 0;
 
@@ -1986,7 +1986,7 @@
 ipv4addrs(char * buf)
 {
     char *tmp;
-    struct in_addr jnk;
+    unsigned long jnk;
     int i = 0;
 
     note("Input: %s\n", buf);
@@ -1994,7 +1994,8 @@
     do {
         tmp = strtok(buf, " ");
         note("got %s\n", tmp);
-        if( tmp && inet_aton(tmp, &jnk) ) i++;
+		jnk = inet_addr( tmp );
+		if( tmp ) i++;
         buf = NULL;
     } while( tmp );
 

Modified: trunk/reactos/services/dhcp/include/dhcpd.h
--- trunk/reactos/services/dhcp/include/dhcpd.h	2005-10-21 23:44:43 UTC (rev 18669)
+++ trunk/reactos/services/dhcp/include/dhcpd.h	2005-10-22 01:46:46 UTC (rev 18670)
@@ -322,7 +322,10 @@
 struct string_list	*new_string_list(size_t size);
 struct hash_table	*new_hash_table(int);
 struct hash_bucket	*new_hash_bucket(void);
+void dfree(void *, char *);
+void free_hash_bucket(struct hash_bucket *, char *);
 
+
 /* bpf.c */
 int if_register_bpf(struct interface_info *);
 void if_register_send(struct interface_info *);

Modified: trunk/reactos/services/dhcp/options.c
--- trunk/reactos/services/dhcp/options.c	2005-10-21 23:44:43 UTC (rev 18669)
+++ trunk/reactos/services/dhcp/options.c	2005-10-22 01:46:46 UTC (rev 18670)
@@ -41,6 +41,7 @@
  */
 
 #include <ctype.h>
+#include <string.h>
 
 #define DHCP_OPTION_DATA
 #include "rosdhcp.h"
@@ -592,7 +593,8 @@
 				break;
 			case 'I':
 				foo.s_addr = htonl(getULong(dp));
-				opcount = strlcpy(op, inet_ntoa(foo), opleft);
+				strncpy(op, inet_ntoa(foo), opleft - 1);
+				op[opleft - 1] = ANSI_NULL;
 				if (opcount >= opleft)
 					goto toobig;
 				opleft -= opcount;
@@ -650,8 +652,8 @@
 				opleft -= opcount;
 				break;
 			case 'f':
-				opcount = strlcpy(op,
-				    *dp++ ? "true" : "false", opleft);
+				opcount = (size_t) strncpy(op, *dp++ ? "true" : "false", opleft - 1);
+				op[opleft - 1] = ANSI_NULL;
 				if (opcount >= opleft)
 					goto toobig;
 				opleft -= opcount;

Modified: trunk/reactos/services/dhcp/util.c
--- trunk/reactos/services/dhcp/util.c	2005-10-21 23:44:43 UTC (rev 18669)
+++ trunk/reactos/services/dhcp/util.c	2005-10-22 01:46:46 UTC (rev 18670)
@@ -93,7 +93,6 @@
 }
 
 void *dmalloc( int size, char *name ) { return malloc( size ); }
-void dfree( void *v, char *name ) { free( v ); }
 
 int read_client_conf(void) {
        error("util.c read_client_conf not implemented!");