udhcpc: reuse string constant; remove unneeded memset(0)
[oweals/busybox.git] / networking / nc_bloaty.c
index 3c622e51ecddbf208e2659949b06d23b3bf19993..d184f689b57479f26e8ca33e5cfc0fc4475597fc 100644 (file)
@@ -60,8 +60,7 @@
 //usage:       "nc [OPTIONS] -l -p PORT [HOST] [PORT]  - listen"
 //usage:       )
 //usage:#define nc_full_usage "\n\n"
-//usage:       "Options:"
-//usage:     "\n       -e PROG Run PROG after connect (must be last)"
+//usage:       "       -e PROG Run PROG after connect (must be last)"
 //usage:       IF_NC_SERVER(
 //usage:     "\n       -l      Listen mode, for inbound connects"
 //usage:       )
@@ -268,8 +267,7 @@ static int doexec(char **proggie)
        dup2(0, 1);
        /* dup2(0, 2); - do we *really* want this? NO!
         * exec'ed prog can do it yourself, if needed */
-       execvp(proggie[0], proggie);
-       bb_perror_msg_and_die("can't execute '%s'", proggie[0]);
+       BB_EXECVP_or_die(proggie);
 }
 
 /* connect_w_timeout:
@@ -387,10 +385,10 @@ create new one, and bind() it. TODO */
                                if (port == 0) {
                                        /* "nc -nl -p LPORT RHOST" (w/o RPORT!):
                                         * we should accept any remote port */
-                                       set_nport(&remend, 0); /* blot out remote port# */
+                                       set_nport(&remend.u.sa, 0); /* blot out remote port# */
                                }
                                r = memcmp(&remend.u.sa, &themaddr->u.sa, remend.len);
-                               set_nport(&remend, sv_port); /* restore */
+                               set_nport(&remend.u.sa, sv_port); /* restore */
                                if (r != 0) {
                                        /* nc 1.10 bails out instead, and its error message
                                         * is not suppressed by o_verbose */
@@ -430,8 +428,7 @@ create new one, and bind() it. TODO */
 
                rr = getsockopt(netfd, IPPROTO_IP, IP_OPTIONS, optbuf, &x);
                if (rr >= 0 && x) {    /* we've got options, lessee em... */
-                       bin2hex(bigbuf_net, optbuf, x);
-                       bigbuf_net[2*x] = '\0';
+                       *bin2hex(bigbuf_net, optbuf, x) = '\0';
                        fprintf(stderr, "IP options: %s\n", bigbuf_net);
                }
 #endif
@@ -487,7 +484,7 @@ static int udptest(void)
         us to hang forever, and hit it */
                o_wait = 5;                     /* enough that we'll notice?? */
                rr = xsocket(ouraddr->u.sa.sa_family, SOCK_STREAM, 0);
-               set_nport(themaddr, htons(SLEAZE_PORT));
+               set_nport(&themaddr->u.sa, htons(SLEAZE_PORT));
                connect_w_timeout(rr);
                /* don't need to restore themaddr's port, it's not used anymore */
                close(rr);
@@ -814,7 +811,7 @@ int nc_main(int argc UNUSED_PARAM, char **argv)
                                (themaddr ? themaddr->u.sa.sa_family : AF_UNSPEC),
                                x);
                if (o_lport)
-                       set_nport(ouraddr, htons(o_lport));
+                       set_nport(&ouraddr->u.sa, htons(o_lport));
        }
        xmove_fd(x, netfd);
        setsockopt_reuseaddr(netfd);