[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