summaryrefslogtreecommitdiffstats
path: root/src/expr/numgen.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2016-09-23 10:16:53 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2016-09-23 10:16:53 +0200
commitea53daf1291b05ea5cfdda85ae811ec6c086ceff (patch)
tree688a65f73b986a51d36db997b5d9784ce30e7604 /src/expr/numgen.c
parent0758d102627744847d0bd2e4744d27695edb9a14 (diff)
src: display offset only if present in hash and numgen expressions
So nft payload python tests don't break. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/expr/numgen.c')
-rw-r--r--src/expr/numgen.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/expr/numgen.c b/src/expr/numgen.c
index f5ca3fd..e4e055e 100644
--- a/src/expr/numgen.c
+++ b/src/expr/numgen.c
@@ -180,17 +180,22 @@ nftnl_expr_ng_snprintf_default(char *buf, size_t size,
switch (ng->type) {
case NFT_NG_INCREMENTAL:
- ret = snprintf(buf, len, "reg %u = %u + inc mod %u ", ng->dreg,
- ng->offset, ng->modulus);
+ ret = snprintf(buf, len, "reg %u = inc mod %u ",
+ ng->dreg, ng->modulus);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
break;
case NFT_NG_RANDOM:
- ret = snprintf(buf, len, "reg %u = %u + random mod %u ",
- ng->dreg, ng->offset, ng->modulus);
+ ret = snprintf(buf, len, "reg %u = random mod %u ",
+ ng->dreg, ng->modulus);
SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
break;
default:
- break;
+ return 0;
+ }
+
+ if (ng->offset) {
+ ret = snprintf(buf, len, "offset %u ", ng->offset);
+ SNPRINTF_BUFFER_SIZE(ret, size, len, offset);
}
return offset;