]> err.no Git - varnish/commitdiff
Set the status to CLIS_COMMS if we fal to read the body.
authorphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sun, 21 Dec 2008 18:40:10 +0000 (18:40 +0000)
committerphk <phk@d4fa192b-c00b-0410-8231-f00ffab90ce4>
Sun, 21 Dec 2008 18:40:10 +0000 (18:40 +0000)
git-svn-id: svn+ssh://projects.linpro.no/svn/varnish/trunk@3494 d4fa192b-c00b-0410-8231-f00ffab90ce4

varnish-cache/lib/libvarnish/cli_common.c

index 1af4d28707d101f092904f4e68c4200b5050994a..e390d651da7045d40ed7e2187468e49ded9dec50 100644 (file)
@@ -123,7 +123,7 @@ cli_result(struct cli *cli, unsigned res)
        if (cli != NULL)
                cli->result = res;      /*lint !e64 type mismatch */
        else
-               printf("CLI result = %d\n", res);
+               printf("CLI result = %u\n", res);
 }
 
 void
@@ -192,15 +192,16 @@ cli_readres(int fd, unsigned *status, char **ptr, double tmo)
 {
        char res[CLI_LINE0_LEN];        /* For NUL */
        int i, j;
-       unsigned u, v;
+       unsigned u, v, s;
        char *p;
 
+       if (status == NULL)
+               status = &s;
        if (ptr != NULL)
                *ptr = NULL;
        i = read_tmo(fd, res, CLI_LINE0_LEN, tmo);
        if (i != CLI_LINE0_LEN) {
-               if (status != NULL)
-                       *status = CLIS_COMMS;
+               *status = CLIS_COMMS;
                if (ptr != NULL)
                        *ptr = strdup("CLI communication error");
                return (1);
@@ -211,12 +212,12 @@ cli_readres(int fd, unsigned *status, char **ptr, double tmo)
        res[CLI_LINE0_LEN - 1] = '\0';
        j = sscanf(res, "%u %u\n", &u, &v);
        assert(j == 2);
-       if (status != NULL)
-               *status = u;
+       *status = u;
        p = malloc(v + 1);
        assert(p != NULL);
        i = read_tmo(fd, p, v + 1, tmo);
        if (i < 0) {
+               *status = CLIS_COMMS;
                free(p);
                return (i);
        }