summaryrefslogtreecommitdiffstats
path: root/src/payload.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2009-03-20 16:12:18 +0100
committerPatrick McHardy <kaber@trash.net>2009-03-20 16:12:18 +0100
commit1bd3b87687328e1e097ca69cf18f2f14abfa9782 (patch)
tree5da11e82f3b32151afec78f7d216a25a39d0c429 /src/payload.c
parentb076d6c6376a77fa84aa813bf267628820bcc883 (diff)
expr: add support for cloning expressions
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'src/payload.c')
-rw-r--r--src/payload.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/payload.c b/src/payload.c
index b7fbcb36..f76586e3 100644
--- a/src/payload.c
+++ b/src/payload.c
@@ -63,10 +63,20 @@ static void payload_expr_print(const struct expr *expr)
expr->payload.offset, expr->len);
}
+static void payload_expr_clone(struct expr *new, const struct expr *expr)
+{
+ new->payload.desc = expr->payload.desc;
+ 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 = {
.type = EXPR_PAYLOAD,
.name = "payload",
.print = payload_expr_print,
+ .clone = payload_expr_clone,
};
struct expr *payload_expr_alloc(const struct location *loc,