From da06a74244cbe4b02431ea2c34b8299f3562c9ff Mon Sep 17 00:00:00 2001 From: Florian Westphal Date: Thu, 14 Sep 2017 22:59:13 +0200 Subject: src: store expression as set key instead of data type Doing so retains legth information in case of unqualified data types, e.g. we now have 'meta iifname' expression instead of an (unqualified) string type. This allows to eventually use iifnames as set keys without adding yet another special data type for them. Signed-off-by: Florian Westphal Acked-by: Pablo Neira Ayuso --- src/netlink_delinearize.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/netlink_delinearize.c') diff --git a/src/netlink_delinearize.c b/src/netlink_delinearize.c index 3f42d092..42206ebc 100644 --- a/src/netlink_delinearize.c +++ b/src/netlink_delinearize.c @@ -307,8 +307,8 @@ static void netlink_parse_lookup(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "Lookup expression has no left hand side"); - if (left->len < set->keylen) { - left = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (left->len < set->key->len) { + left = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (left == NULL) return; } @@ -1122,8 +1122,8 @@ static void netlink_parse_dynset(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "Dynset statement has no key expression"); - if (expr->len < set->keylen) { - expr = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (expr->len < set->key->len) { + expr = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (expr == NULL) return; } @@ -1193,8 +1193,8 @@ static void netlink_parse_objref(struct netlink_parse_ctx *ctx, return netlink_error(ctx, loc, "objref expression has no left hand side"); - if (left->len < set->keylen) { - left = netlink_parse_concat_expr(ctx, loc, sreg, set->keylen); + if (left->len < set->key->len) { + left = netlink_parse_concat_expr(ctx, loc, sreg, set->key->len); if (left == NULL) return; } -- cgit v1.2.3