]> err.no Git - varnish/commitdiff
More FlexeLint inspired cleanup
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 29 Jan 2008 11:53:41 +0000 (11:53 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Tue, 29 Jan 2008 11:53:41 +0000 (11:53 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@2400 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/bin/varnishd/mgt_cli.c

index 9453fcaa610316eebe7e158d8a38803f0768a930..8c44c9032a680098a595a8e9ea1d56db062c78da 100644 (file)
@@ -293,6 +293,24 @@ struct cli_port {
        char                    name[30];
 };
 
+static int
+mgt_cli_close(const struct cli_port *cp)
+{
+
+       vsb_delete(cp->cli->sb);
+       free(cp->buf);
+       (void)close(cp->fdi);
+       if (cp->fdi == 0)
+               assert(open("/dev/null", O_RDONLY) == 0);
+       (void)close(cp->fdo);
+       if (cp->fdo == 1) {
+               assert(open("/dev/null", O_WRONLY) == 1);
+               (void)close(2);
+               assert(open("/dev/null", O_WRONLY) == 2);
+       }
+       return (1);
+}
+
 static int
 mgt_cli_callback(const struct ev *e, int what)
 {
@@ -303,7 +321,7 @@ mgt_cli_callback(const struct ev *e, int what)
        CAST_OBJ_NOTNULL(cp, e->priv, CLI_PORT_MAGIC);
 
        if (what & (EV_ERR | EV_HUP | EV_GONE))
-               goto cli_close;
+               return (mgt_cli_close(cp));
 
        /* grow the buffer if it is full */
        if (cp->nbuf == cp->lbuf) {
@@ -315,7 +333,7 @@ mgt_cli_callback(const struct ev *e, int what)
        /* read more data into the buffer */
        i = read(cp->fdi, cp->buf + cp->nbuf, cp->lbuf - cp->nbuf);
        if (i <= 0)
-               goto cli_close;
+               return (mgt_cli_close(cp));
        cp->nbuf += i;
 
        for (p = q = cp->buf; q < cp->buf + cp->nbuf; ++q) {
@@ -330,7 +348,7 @@ mgt_cli_callback(const struct ev *e, int what)
 
                /* send the result back */
                if (cli_writeres(cp->fdo, cp->cli))
-                       goto cli_close;
+                       return (mgt_cli_close(cp));
 
                /* ready for next command */
                p = q + 1;
@@ -344,21 +362,6 @@ mgt_cli_callback(const struct ev *e, int what)
        } else
                cp->nbuf = 0;
        return (0);
-
-cli_close:
-       vsb_delete(cp->cli->sb);
-       free(cp->buf);
-       (void)close(cp->fdi);
-       if (cp->fdi == 0)
-               assert(open("/dev/null", O_RDONLY) == 0);
-       (void)close(cp->fdo);
-       if (cp->fdo == 1) {
-               assert(open("/dev/null", O_WRONLY) == 1);
-               close(2);
-               assert(open("/dev/null", O_WRONLY) == 2);
-       }
-       free(cp);
-       return (1);
 }
 
 void
@@ -389,7 +392,7 @@ mgt_cli_setup(int fdi, int fdo, int verbose)
        cp->ev->fd_flags = EV_RD;
        cp->ev->callback = mgt_cli_callback;
        cp->ev->priv = cp;
-       ev_add(mgt_evb, cp->ev);
+       AZ(ev_add(mgt_evb, cp->ev));
 }
 
 static int
@@ -417,7 +420,7 @@ mgt_cli_telnet(const char *T_arg)
        int i, n;
 
        XXXAZ(VSS_parse(T_arg, &addr, &port));
-       XXXAN(n = VSS_resolve(addr, port, &ta));
+       n = VSS_resolve(addr, port, &ta);
        free(addr);
        free(port);
        if (n == 0) {
@@ -431,7 +434,7 @@ mgt_cli_telnet(const char *T_arg)
                ev->fd = sock;
                ev->fd_flags = POLLIN;
                ev->callback = telnet_accept;
-               ev_add(mgt_evb, ev);
+               AZ(ev_add(mgt_evb, ev));
                free(ta[i]);
                ta[i] = NULL;
        }