rt_names: stop allocating 5k in rwdata
[oweals/busybox.git] / networking / udhcp / dhcprelay.c
index e3a81688603b7417b74da59f880b5d29840282f3..78a1b5e626ce7d65defffb9099063b6940273390 100644 (file)
@@ -103,7 +103,7 @@ static void xid_del(u_int32_t xid)
  */
 static int get_dhcp_packet_type(struct dhcpMessage *p)
 {
-       u_char *op;
+       uint8_t *op;
 
        /* it must be either a BOOTREQUEST or a BOOTREPLY */
        if (p->op != BOOTREQUEST && p->op != BOOTREPLY)
@@ -169,7 +169,6 @@ static int init_sockets(char **client, int num_clients,
 
        /* talk to real server on bootps */
        fds[0] = listen_socket(htonl(INADDR_ANY), 67, server);
-       if (fds[0] < 0) return -1;
        *max_socket = fds[0];
 
        /* array starts at 1 since server is 0 */
@@ -178,7 +177,6 @@ static int init_sockets(char **client, int num_clients,
        for (i=1; i < num_clients; i++) {
                /* listen for clients on bootps */
                fds[i] = listen_socket(htonl(INADDR_ANY), 67, client[i-1]);
-               if (fds[i] < 0) return -1;
                if (fds[i] > *max_socket) *max_socket = fds[i];
        }
 
@@ -259,7 +257,8 @@ static void dhcprelay_loop(int *fds, int num_sockets, int max_socket, char **cli
 {
        struct dhcpMessage dhcp_msg;
        fd_set rfds;
-       size_t packlen, addr_size;
+       size_t packlen;
+       socklen_t addr_size;
        struct sockaddr_in client_addr;
        struct timeval tv;
        int i;
@@ -321,8 +320,6 @@ int dhcprelay_main(int argc, char **argv)
        signal(SIGINT, dhcprelay_signal_handler);
 
        num_sockets = init_sockets(clients, num_sockets, argv[2], fds, &max_socket);
-       if (num_sockets == -1)
-               bb_perror_msg_and_die("init_sockets() failed");
 
        if (read_interface(argv[2], NULL, &gw_ip, NULL) == -1)
                return 1;