Fix applet_name.
[oweals/busybox.git] / nc.c
diff --git a/nc.c b/nc.c
index 3f512d1cb56fe11be546ca88ea11102072697263..5335872e5a7ca50b4e3fa5b410fbffb333d459b9 100644 (file)
--- a/nc.c
+++ b/nc.c
@@ -26,9 +26,9 @@
 
 */
 
-#include "busybox.h"
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 
 #include <sys/types.h>
@@ -38,6 +38,7 @@
 #include <netdb.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
+#include "busybox.h"
 
 int nc_main(int argc, char **argv)
 {
@@ -58,12 +59,12 @@ int nc_main(int argc, char **argv)
                                lport = atoi(optarg);
                                break;
                        default:
-                               usage(nc_usage);
+                               show_usage();
                }
        }
 
        if ((do_listen && optind != argc) || (!do_listen && optind + 2 != argc))
-               usage(nc_usage);
+               show_usage();
 
        if ((sfd = socket(AF_INET, SOCK_STREAM, 0)) < 0)
                perror_msg_and_die("socket");
@@ -79,17 +80,18 @@ int nc_main(int argc, char **argv)
        }
 
        if (do_listen) {
+               socklen_t addrlen = sizeof(address);
+
                if (listen(sfd, 1) < 0)
                        perror_msg_and_die("listen");
 
-               if ((tmpfd = accept(sfd, (struct sockaddr *) &address, &opt)) < 0)
+               if ((tmpfd = accept(sfd, (struct sockaddr *) &address, &addrlen)) < 0)
                        perror_msg_and_die("accept");
 
                close(sfd);
                sfd = tmpfd;
        } else {
-               if ((hostinfo = gethostbyname(argv[optind])) == NULL)
-                       error_msg_and_die("cannot resolve %s\n", argv[optind]);
+               hostinfo = xgethostbyname(argv[optind]);
 
                address.sin_addr = *(struct in_addr *) *hostinfo->h_addr_list;
                address.sin_port = htons(atoi(argv[optind+1]));