[master] 1551a2d Use ObjIterate()
Poul-Henning Kamp
phk at FreeBSD.org
Thu Dec 10 01:23:28 CET 2015
commit 1551a2d19cd1493b1d62e80c89741426dc445656
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Wed Dec 9 22:31:50 2015 +0000
Use ObjIterate()
diff --git a/bin/varnishd/cache/cache_deliver_proc.c b/bin/varnishd/cache/cache_deliver_proc.c
index 9de94dd..5060f9f 100644
--- a/bin/varnishd/cache/cache_deliver_proc.c
+++ b/bin/varnishd/cache/cache_deliver_proc.c
@@ -114,40 +114,17 @@ VDP_close(struct req *req)
/*--------------------------------------------------------------------*/
+static int __match_proto__(objiterate_f)
+vdp_objiterator(void *priv, int flush, const void *ptr, ssize_t len)
+{
+ return (VDP_bytes(priv, flush ? VDP_FLUSH : VDP_NULL, ptr, len));
+}
+
+
int
VDP_DeliverObj(struct req *req)
{
- enum objiter_status ois;
- int err = 0;
- ssize_t len;
- void *oi;
- void *ptr;
CHECK_OBJ_NOTNULL(req, REQ_MAGIC);
-
- oi = ObjIterBegin(req->wrk, req->objcore);
- XXXAN(oi);
-
- do {
- ois = ObjIter(req->objcore, oi, &ptr, &len);
- switch(ois) {
- case OIS_DONE:
- AZ(len);
- break;
- case OIS_ERROR:
- err = -1;
- break;
- case OIS_DATA:
- case OIS_STREAM:
- if (VDP_bytes(req,
- ois == OIS_DATA ? VDP_NULL : VDP_FLUSH, ptr, len))
- ois = OIS_ERROR;
- break;
- default:
- WRONG("Wrong OIS value");
- }
- } while (ois == OIS_DATA || ois == OIS_STREAM);
- (void)VDP_bytes(req, VDP_FLUSH, NULL, 0);
- ObjIterEnd(req->objcore, &oi);
- return (err);
+ return (ObjIterate(req->wrk, req->objcore, req, vdp_objiterator));
}
More information about the varnish-commit
mailing list