summaryrefslogtreecommitdiffstats
path: root/src/payload.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2014-03-06 17:03:19 +0100
committerPatrick McHardy <kaber@trash.net>2014-03-07 10:19:04 +0100
commit7663afee1685272777d74b6c6117b71ae06bec95 (patch)
tree05ff50391a64392874ea74cc2535a433c085f8d2 /src/payload.c
parente7b43ec0c9bc244795163478aa4c3e33750b5d64 (diff)
expr: add comparison function for singleton expressions
Singed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src/payload.c')
-rw-r--r--src/payload.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/payload.c b/src/payload.c
index 9f2db6d9..427080c0 100644
--- a/src/payload.c
+++ b/src/payload.c
@@ -40,6 +40,14 @@ static void payload_expr_print(const struct expr *expr)
expr->payload.offset, expr->len);
}
+static bool payload_expr_cmp(const struct expr *e1, const struct expr *e2)
+{
+ return e1->payload.desc == e2->payload.desc &&
+ e1->payload.tmpl == e2->payload.tmpl &&
+ e1->payload.base == e2->payload.base &&
+ e1->payload.offset == e2->payload.offset;
+}
+
static void payload_expr_clone(struct expr *new, const struct expr *expr)
{
new->payload.desc = expr->payload.desc;
@@ -76,6 +84,7 @@ static const struct expr_ops payload_expr_ops = {
.type = EXPR_PAYLOAD,
.name = "payload",
.print = payload_expr_print,
+ .cmp = payload_expr_cmp,
.clone = payload_expr_clone,
.pctx_update = payload_expr_pctx_update,
};