[master] 52c2334 Collapse two loops into one.
Poul-Henning Kamp
phk at FreeBSD.org
Wed May 4 10:07:05 CEST 2016
commit 52c23347ae2d595b4591e7bff002647b7cf947c5
Author: Poul-Henning Kamp <phk at FreeBSD.org>
Date: Tue May 3 20:42:28 2016 +0000
Collapse two loops into one.
diff --git a/bin/varnishd/storage/storage_simple.c b/bin/varnishd/storage/storage_simple.c
index 075d866..f6b70e1 100644
--- a/bin/varnishd/storage/storage_simple.c
+++ b/bin/varnishd/storage/storage_simple.c
@@ -252,24 +252,19 @@ sml_iterator(struct worker *wrk, struct objcore *oc,
boc = HSH_RefBoc(oc);
- if (boc == NULL && final) {
- while (!VTAILQ_EMPTY(&obj->list)) {
- st = VTAILQ_FIRST(&obj->list);
+ if (boc == NULL) {
+ VTAILQ_FOREACH_SAFE(st, &obj->list, list, checkpoint) {
+ AN(st->len);
if (ret == 0 && func(priv, 1, st->ptr, st->len))
ret = -1;
- VTAILQ_REMOVE(&obj->list, st, list);
- sml_stv_free(stv, st);
+ if (final) {
+ VTAILQ_REMOVE(&obj->list, st, list);
+ sml_stv_free(stv, st);
+ } else if (ret)
+ break;
}
return (ret);
}
- if (boc == NULL) {
- VTAILQ_FOREACH(st, &obj->list, list) {
- AN(st->len);
- if (func(priv, 0, st->ptr, st->len))
- return (-1);
- }
- return (0);
- }
p = NULL;
l = 0;
More information about the varnish-commit
mailing list