From bc3656ad1e5b5812f916e9c9356785c06ce90936 Mon Sep 17 00:00:00 2001 From: Patrick McHardy Date: Wed, 8 Jan 2014 13:02:15 +0000 Subject: expr: replace PAYLOAD_PROTOCOL_EXPR by generic flag Introduce a generic flag to indicate that an expression describes the upper layer protocol as replacement for the payload specific flag. Signed-off-by: Patrick McHardy --- src/payload.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'src/payload.c') diff --git a/src/payload.c b/src/payload.c index ea0d4e26..2a60a762 100644 --- a/src/payload.c +++ b/src/payload.c @@ -69,7 +69,6 @@ static void payload_expr_clone(struct expr *new, const struct expr *expr) new->payload.tmpl = expr->payload.tmpl; new->payload.base = expr->payload.base; new->payload.offset = expr->payload.offset; - new->payload.flags = expr->payload.flags; } static const struct expr_ops payload_expr_ops = { @@ -92,7 +91,7 @@ struct expr *payload_expr_alloc(const struct location *loc, tmpl = &desc->templates[type]; base = desc->base; if (type == desc->protocol_key) - flags = PAYLOAD_PROTOCOL_EXPR; + flags = EXPR_F_PROTOCOL; } else { tmpl = &payload_unknown_template; base = PAYLOAD_BASE_INVALID; @@ -100,11 +99,13 @@ struct expr *payload_expr_alloc(const struct location *loc, expr = expr_alloc(loc, &payload_expr_ops, tmpl->dtype, tmpl->dtype->byteorder, tmpl->len); + expr->flags |= flags; + expr->payload.desc = desc; expr->payload.tmpl = tmpl; expr->payload.base = base; expr->payload.offset = tmpl->offset; - expr->payload.flags = flags; + return expr; } @@ -256,7 +257,7 @@ void payload_ctx_update(struct payload_ctx *ctx, const struct expr *expr) const struct expr *left = expr->left, *right = expr->right; const struct payload_desc *base, *desc; - if (!(left->payload.flags & PAYLOAD_PROTOCOL_EXPR)) + if (!(left->flags & EXPR_F_PROTOCOL)) return; assert(expr->op == OP_EQ); -- cgit v1.2.3