r3494 - trunk/varnish-cache/lib/libvarnish

phk at projects.linpro.no phk at projects.linpro.no
Sun Dec 21 19:40:10 CET 2008


Author: phk
Date: 2008-12-21 19:40:10 +0100 (Sun, 21 Dec 2008)
New Revision: 3494

Modified:
   trunk/varnish-cache/lib/libvarnish/cli_common.c
Log:
Set the status to CLIS_COMMS if we fal to read the body.



Modified: trunk/varnish-cache/lib/libvarnish/cli_common.c
===================================================================
--- trunk/varnish-cache/lib/libvarnish/cli_common.c	2008-12-21 18:35:47 UTC (rev 3493)
+++ trunk/varnish-cache/lib/libvarnish/cli_common.c	2008-12-21 18:40:10 UTC (rev 3494)
@@ -123,7 +123,7 @@
 	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 @@
 {
 	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 @@
 	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);
 	}



More information about the varnish-commit mailing list