qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH] slirp: Remove unused variable and unused code


From: Stefan Weil
Subject: Re: [Qemu-devel] [PATCH] slirp: Remove unused variable and unused code
Date: Fri, 13 Jan 2012 22:16:54 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.16) Gecko/20111110 Iceowl/1.0b1 Icedove/3.0.11

Am 05.01.2012 14:18, schrieb Stefan Weil:
9634d9031c140b24c7ca0d8872632207f6ce7275 disabled unused code.
This patch removes what was left.

If do_pty is 2, the function returns immediately, so any later checks
for do_pty == 2 will always fail and can be removed together with
the code which is never executed. Then variable master is unused and
can be removed, too.

This issue was detected by coverity.

Cc: Blue Swirl<address@hidden>
Signed-off-by: Stefan Weil<address@hidden>
---
  slirp/misc.c |   67 ++++++++++++++++++++++-----------------------------------
  1 files changed, 26 insertions(+), 41 deletions(-)

diff --git a/slirp/misc.c b/slirp/misc.c
index 6c80e69..3432fbf 100644
--- a/slirp/misc.c
+++ b/slirp/misc.c
@@ -113,7 +113,6 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
        struct sockaddr_in addr;
        socklen_t addrlen = sizeof(addr);
        int opt;
-        int master = -1;
        const char *argv[256];
        /* don't want to clobber the original */
        char *bptr;
@@ -148,32 +147,23 @@ fork_exec(struct socket *so, const char *ex, int do_pty)
         case -1:
                lprint("Error: fork failed: %s\n", strerror(errno));
                close(s);
-               if (do_pty == 2)
-                  close(master);
                return 0;

         case 0:
                  setsid();

                /* Set the DISPLAY */
-               if (do_pty == 2) {
-                       (void) close(master);
-#ifdef TIOCSCTTY /* XXXXX */
-                       ioctl(s, TIOCSCTTY, (char *)NULL);
-#endif
-               } else {
-                       getsockname(s, (struct sockaddr *)&addr,&addrlen);
-                       close(s);
-                       /*
-                        * Connect to the socket
-                        * XXX If any of these fail, we're in trouble!
-                        */
-                       s = qemu_socket(AF_INET, SOCK_STREAM, 0);
-                       addr.sin_addr = loopback_addr;
-                        do {
-                            ret = connect(s, (struct sockaddr *)&addr, 
addrlen);
-                        } while (ret<  0&&  errno == EINTR);
-               }
+                getsockname(s, (struct sockaddr *)&addr,&addrlen);
+                close(s);
+                /*
+                 * Connect to the socket
+                 * XXX If any of these fail, we're in trouble!
+                 */
+                s = qemu_socket(AF_INET, SOCK_STREAM, 0);
+                addr.sin_addr = loopback_addr;
+                do {
+                    ret = connect(s, (struct sockaddr *)&addr, addrlen);
+                } while (ret<  0&&  errno == EINTR);

                dup2(s, 0);
                dup2(s, 1);
@@ -210,26 +200,21 @@ fork_exec(struct socket *so, const char *ex, int do_pty)

         default:
                qemu_add_child_watch(pid);
-               if (do_pty == 2) {
-                       close(s);
-                       so->s = master;
-               } else {
-                       /*
-                        * XXX this could block us...
-                        * XXX Should set a timer here, and if accept() doesn't
-                        * return after X seconds, declare it a failure
-                        * The only reason this will block forever is if 
socket()
-                        * of connect() fail in the child process
-                        */
-                        do {
-                            so->s = accept(s, (struct sockaddr 
*)&addr,&addrlen);
-                        } while (so->s<  0&&  errno == EINTR);
-                        closesocket(s);
-                       opt = 1;
-                       setsockopt(so->s,SOL_SOCKET,SO_REUSEADDR,(char 
*)&opt,sizeof(int));
-                       opt = 1;
-                       setsockopt(so->s,SOL_SOCKET,SO_OOBINLINE,(char 
*)&opt,sizeof(int));
-               }
+                /*
+                 * XXX this could block us...
+                 * XXX Should set a timer here, and if accept() doesn't
+                 * return after X seconds, declare it a failure
+                 * The only reason this will block forever is if socket()
+                 * of connect() fail in the child process
+                 */
+                do {
+                    so->s = accept(s, (struct sockaddr *)&addr,&addrlen);
+                } while (so->s<  0&&  errno == EINTR);
+                closesocket(s);
+                opt = 1;
+                setsockopt(so->s, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, 
sizeof(int));
+                opt = 1;
+                setsockopt(so->s, SOL_SOCKET, SO_OOBINLINE, (char *)&opt, 
sizeof(int));
                fd_nonblock(so->s);

                /* Append the telnet options now */


Ping. Please commit this patch.

Thanks,
Stefan W.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]