[master] 3fbdda3d7 Polish

Poul-Henning Kamp phk at FreeBSD.org
Wed Jan 16 22:56:07 UTC 2019


commit 3fbdda3d7335e806dd22ebde49a6fb7ceda6e14a
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date:   Wed Jan 16 22:32:56 2019 +0000

    Polish

diff --git a/bin/varnishd/cache/cache_esi_deliver.c b/bin/varnishd/cache/cache_esi_deliver.c
index dd1894dc7..66751b280 100644
--- a/bin/varnishd/cache/cache_esi_deliver.c
+++ b/bin/varnishd/cache/cache_esi_deliver.c
@@ -571,7 +571,7 @@ struct ved_foo {
 	ssize_t start, last, stop, lpad;
 	ssize_t ll;
 	uint64_t olen;
-	uint8_t *dbits;
+	uint8_t dbits[8];
 	uint8_t tailbuf[8];
 };
 
@@ -721,18 +721,17 @@ ved_stripgzip(struct req *req, const struct boc *boc)
 	const char *p;
 	uint32_t icrc;
 	uint32_t ilen;
-	uint8_t *dbits;
 	struct ecx *ecx;
-	struct ved_foo foo;
+	struct ved_foo foo[1];
 
 	CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
 	CHECK_OBJ_NOTNULL(req->objcore, OBJCORE_MAGIC);
 	CAST_OBJ_NOTNULL(ecx, req->transport_priv, ECX_MAGIC);
 
-	INIT_OBJ(&foo, VED_FOO_MAGIC);
-	foo.ecx = ecx;
-	foo.req = req;
-	memset(foo.tailbuf, 0xdd, sizeof foo.tailbuf);
+	INIT_OBJ(foo, VED_FOO_MAGIC);
+	foo->ecx = ecx;
+	foo->req = req;
+	memset(foo->tailbuf, 0xdd, sizeof foo->tailbuf);
 
 	/* OA_GZIPBITS is not valid until BOS_FINISHED */
 	if (boc != NULL)
@@ -754,28 +753,25 @@ ved_stripgzip(struct req *req, const struct boc *boc)
 	p = ObjGetAttr(req->wrk, req->objcore, OA_GZIPBITS, &l);
 	AN(p);
 	assert(l == 32);
-	foo.start = vbe64dec(p);
-	foo.last = vbe64dec(p + 8);
-	foo.stop = vbe64dec(p + 16);
-	foo.olen = ObjGetLen(req->wrk, req->objcore);
-	assert(foo.start > 0 && foo.start < foo.olen * 8);
-	assert(foo.last > 0 && foo.last < foo.olen * 8);
-	assert(foo.stop > 0 && foo.stop < foo.olen * 8);
-	assert(foo.last >= foo.start);
-	assert(foo.last < foo.stop);
+	foo->start = vbe64dec(p);
+	foo->last = vbe64dec(p + 8);
+	foo->stop = vbe64dec(p + 16);
+	foo->olen = ObjGetLen(req->wrk, req->objcore);
+	assert(foo->start > 0 && foo->start < foo->olen * 8);
+	assert(foo->last > 0 && foo->last < foo->olen * 8);
+	assert(foo->stop > 0 && foo->stop < foo->olen * 8);
+	assert(foo->last >= foo->start);
+	assert(foo->last < foo->stop);
 
 	/* The start bit must be byte aligned. */
-	AZ(foo.start & 7);
+	AZ(foo->start & 7);
 
-	dbits = WS_Alloc(req->ws, 8);
-	AN(dbits);
-	foo.dbits = dbits;
 	(void)ObjIterate(req->wrk, req->objcore, &foo, ved_objiterate, 0);
 	/* XXX: error check ?? */
 	(void)ved_bytes(req, ecx, VDP_FLUSH, NULL, 0);
 
-	icrc = vle32dec(foo.tailbuf);
-	ilen = vle32dec(foo.tailbuf + 4);
+	icrc = vle32dec(foo->tailbuf);
+	ilen = vle32dec(foo->tailbuf + 4);
 
 	ecx->crc = crc32_combine(ecx->crc, icrc, ilen);
 	ecx->l_crc += ilen;


More information about the varnish-commit mailing list