From a5112cc040f81806ab76d5fa0a34a2cc34da9b84 Mon Sep 17 00:00:00 2001 From: Pablo Neira Ayuso Date: Wed, 14 Feb 2018 16:26:46 +0100 Subject: payload: add payload_dependency_release() helper function Wrap code that releases existing dependencies that we have just annotated in the context structure. Signed-off-by: Pablo Neira Ayuso --- src/payload.c | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) (limited to 'src/payload.c') diff --git a/src/payload.c b/src/payload.c index df3c8136..21c28428 100644 --- a/src/payload.c +++ b/src/payload.c @@ -428,6 +428,17 @@ void payload_dependency_store(struct payload_dep_ctx *ctx, ctx->pdep = stmt; } +static void payload_dependency_release(struct payload_dep_ctx *ctx) +{ + list_del(&ctx->pdep->list); + stmt_free(ctx->pdep); + + ctx->pbase = PROTO_BASE_INVALID; + if (ctx->pdep == ctx->prev) + ctx->prev = NULL; + ctx->pdep = NULL; +} + /** * __payload_dependency_kill - kill a redundant payload depedency * @@ -442,15 +453,8 @@ void __payload_dependency_kill(struct payload_dep_ctx *ctx, { if (ctx->pbase != PROTO_BASE_INVALID && ctx->pbase == base && - ctx->pdep != NULL) { - list_del(&ctx->pdep->list); - stmt_free(ctx->pdep); - - ctx->pbase = PROTO_BASE_INVALID; - if (ctx->pdep == ctx->prev) - ctx->prev = NULL; - ctx->pdep = NULL; - } + ctx->pdep != NULL) + payload_dependency_release(ctx); } void payload_dependency_kill(struct payload_dep_ctx *ctx, struct expr *expr, -- cgit v1.2.3