X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcore%2Fstore_expr.c;h=d9f6e0462b65c39e5e67c4b787139507c3969e43;hb=c856cc7bc33c847f851cd1972cf0ddea9a0d9550;hp=11370bb438455f6fcf3b08a34a4bcfa5607a98af;hpb=3a98a4db16092c17a70dffe71adaf9459fa9db2a;p=sysdb.git diff --git a/src/core/store_expr.c b/src/core/store_expr.c index 11370bb..d9f6e04 100644 --- a/src/core/store_expr.c +++ b/src/core/store_expr.c @@ -411,16 +411,19 @@ sdb_store_expr_iter_get_next(sdb_store_expr_iter_t *iter) && (! sdb_store_matcher_matches(iter->filter, child, NULL))) continue; - if (sdb_store_expr_eval(iter->expr, iter->obj, &ret, iter->filter)) + if (sdb_store_expr_eval(iter->expr, child, &ret, iter->filter)) return null; break; } /* Skip over any filtered objects */ - if (iter->filter) - while ((child = STORE_OBJ(sdb_avltree_iter_peek_next(iter->tree)))) + if (iter->filter) { + while ((child = STORE_OBJ(sdb_avltree_iter_peek_next(iter->tree)))) { if (sdb_store_matcher_matches(iter->filter, child, NULL)) break; + (void)sdb_avltree_iter_get_next(iter->tree); + } + } return ret; }