diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/chain.c | 39 | ||||
-rw-r--r-- | src/expr.c | 6 | ||||
-rw-r--r-- | src/expr/bitwise.c | 18 | ||||
-rw-r--r-- | src/expr/byteorder.c | 6 | ||||
-rw-r--r-- | src/expr/cmp.c | 10 | ||||
-rw-r--r-- | src/expr/ct.c | 12 | ||||
-rw-r--r-- | src/expr/data_reg.c | 52 | ||||
-rw-r--r-- | src/expr/dup.c | 6 | ||||
-rw-r--r-- | src/expr/dynset.c | 27 | ||||
-rw-r--r-- | src/expr/fib.c | 20 | ||||
-rw-r--r-- | src/expr/fwd.c | 7 | ||||
-rw-r--r-- | src/expr/hash.c | 16 | ||||
-rw-r--r-- | src/expr/immediate.c | 18 | ||||
-rw-r--r-- | src/expr/log.c | 35 | ||||
-rw-r--r-- | src/expr/lookup.c | 14 | ||||
-rw-r--r-- | src/expr/nat.c | 23 | ||||
-rw-r--r-- | src/expr/numgen.c | 14 | ||||
-rw-r--r-- | src/expr/queue.c | 14 | ||||
-rw-r--r-- | src/expr/range.c | 14 | ||||
-rw-r--r-- | src/expr/redir.c | 10 | ||||
-rw-r--r-- | src/gen.c | 14 | ||||
-rw-r--r-- | src/object.c | 27 | ||||
-rw-r--r-- | src/rule.c | 70 | ||||
-rw-r--r-- | src/ruleset.c | 88 | ||||
-rw-r--r-- | src/set.c | 126 | ||||
-rw-r--r-- | src/set_elem.c | 81 | ||||
-rw-r--r-- | src/table.c | 16 |
27 files changed, 399 insertions, 384 deletions
diff --git a/src/chain.c b/src/chain.c index e5b9fe3..d2fafd5 100644 --- a/src/chain.c +++ b/src/chain.c @@ -788,32 +788,33 @@ static int nftnl_chain_export(char *buf, size_t size, static int nftnl_chain_snprintf_default(char *buf, size_t size, const struct nftnl_chain *c) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; - ret = snprintf(buf, len, "%s %s %s use %u", + ret = snprintf(buf, remain, "%s %s %s use %u", nftnl_family2str(c->family), c->table, c->name, c->use); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (c->flags & (1 << NFTNL_CHAIN_HOOKNUM)) { - ret = snprintf(buf + offset, len, " type %s hook %s prio %d", + ret = snprintf(buf + offset, remain, " type %s hook %s prio %d", c->type, nftnl_hooknum2str(c->family, c->hooknum), c->prio); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (c->flags & (1 << NFTNL_CHAIN_POLICY)) { - ret = snprintf(buf + offset, len, " policy %s", + ret = snprintf(buf + offset, remain, " policy %s", nftnl_verdict2str(c->policy)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf + offset, len, + ret = snprintf(buf + offset, remain, " packets %"PRIu64" bytes %"PRIu64"", c->packets, c->bytes); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (c->flags & (1 << NFTNL_CHAIN_DEV)) { - ret = snprintf(buf + offset, len, " dev %s ", c->dev); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " dev %s ", + c->dev); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } } @@ -824,27 +825,27 @@ static int nftnl_chain_cmd_snprintf(char *buf, size_t size, const struct nftnl_chain *c, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch (type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_chain_snprintf_default(buf+offset, len, c); + ret = nftnl_chain_snprintf_default(buf + offset, remain, c); break; case NFTNL_OUTPUT_XML: case NFTNL_OUTPUT_JSON: - ret = nftnl_chain_export(buf+offset, len, c, type); + ret = nftnl_chain_export(buf + offset, remain, c, type); break; default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -279,13 +279,13 @@ int nftnl_expr_snprintf(char *buf, size_t size, const struct nftnl_expr *expr, uint32_t type, uint32_t flags) { int ret; - unsigned int offset = 0, len = size; + unsigned int offset = 0, remain = size; if (!expr->ops->snprintf) return 0; - ret = expr->ops->snprintf(buf+offset, len, type, flags, expr); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = expr->ops->snprintf(buf + offset, remain, type, flags, expr); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/bitwise.c b/src/expr/bitwise.c index 0febc9d..a89734b 100644 --- a/src/expr/bitwise.c +++ b/src/expr/bitwise.c @@ -233,22 +233,22 @@ static int nftnl_expr_bitwise_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_bitwise *bitwise = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; - ret = snprintf(buf, len, "reg %u = (reg=%u & ", + ret = snprintf(buf, remain, "reg %u = (reg=%u & ", bitwise->dreg, bitwise->sreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf+offset, len, &bitwise->mask, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &bitwise->mask, NFTNL_OUTPUT_DEFAULT, 0, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf+offset, len, ") ^ "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, ") ^ "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf+offset, len, &bitwise->xor, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &bitwise->xor, NFTNL_OUTPUT_DEFAULT, 0, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/byteorder.c b/src/expr/byteorder.c index 3805307..47c04cf 100644 --- a/src/expr/byteorder.c +++ b/src/expr/byteorder.c @@ -258,12 +258,12 @@ static int nftnl_expr_byteorder_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_byteorder *byteorder = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; - ret = snprintf(buf, len, "reg %u = %s(reg %u, %u, %u) ", + ret = snprintf(buf, remain, "reg %u = %s(reg %u, %u, %u) ", byteorder->dreg, bo2str(byteorder->op), byteorder->sreg, byteorder->size, byteorder->len); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/cmp.c b/src/expr/cmp.c index 353e907..b26d0eb 100644 --- a/src/expr/cmp.c +++ b/src/expr/cmp.c @@ -229,15 +229,15 @@ static int nftnl_expr_cmp_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_cmp *cmp = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; - ret = snprintf(buf, len, "%s reg %u ", + ret = snprintf(buf, remain, "%s reg %u ", cmp2str(cmp->op), cmp->sreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf+offset, len, &cmp->data, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &cmp->data, NFTNL_OUTPUT_DEFAULT, 0, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/ct.c b/src/expr/ct.c index 676dfb6..6f87a72 100644 --- a/src/expr/ct.c +++ b/src/expr/ct.c @@ -289,25 +289,25 @@ static int nftnl_expr_ct_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; struct nftnl_expr_ct *ct = nftnl_expr_data(e); if (e->flags & (1 << NFTNL_EXPR_CT_SREG)) { ret = snprintf(buf, size, "set %s with reg %u ", ctkey2str(ct->key), ct->sreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_CT_DREG)) { - ret = snprintf(buf, len, "load %s => reg %u ", + ret = snprintf(buf, remain, "load %s => reg %u ", ctkey2str(ct->key), ct->dreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (nftnl_expr_is_set(e, NFTNL_EXPR_CT_DIR)) { - ret = snprintf(buf+offset, len, ", dir %s ", + ret = snprintf(buf + offset, remain, ", dir %s ", ctdir2str(ct->dir)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/data_reg.c b/src/expr/data_reg.c index 0249258..a246952 100644 --- a/src/expr/data_reg.c +++ b/src/expr/data_reg.c @@ -101,34 +101,34 @@ nftnl_data_reg_value_snprintf_json(char *buf, size_t size, const union nftnl_data_reg *reg, uint32_t flags) { - int len = size, offset = 0, ret, i, j; + int remain = size, offset = 0, ret, i, j; uint32_t utemp; uint8_t *tmp; - ret = snprintf(buf, len, "\"reg\":{\"type\":\"value\","); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "\"reg\":{\"type\":\"value\","); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf+offset, len, "\"len\":%u,", reg->len); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\"len\":%u,", reg->len); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { - ret = snprintf(buf+offset, len, "\"data%d\":\"0x", i); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\"data%d\":\"0x", i); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); utemp = htonl(reg->val[i]); tmp = (uint8_t *)&utemp; for (j = 0; j<sizeof(uint32_t); j++) { - ret = snprintf(buf+offset, len, "%.02x", tmp[j]); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%.02x", tmp[j]); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, "\","); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\","); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } offset--; - ret = snprintf(buf+offset, len, "}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -138,11 +138,11 @@ nftnl_data_reg_value_snprintf_default(char *buf, size_t size, const union nftnl_data_reg *reg, uint32_t flags) { - int len = size, offset = 0, ret, i; + int remain = size, offset = 0, ret, i; for (i = 0; i < div_round_up(reg->len, sizeof(uint32_t)); i++) { - ret = snprintf(buf+offset, len, "0x%.8x ", reg->val[i]); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "0x%.8x ", reg->val[i]); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -153,14 +153,14 @@ nftnl_data_reg_verdict_snprintf_def(char *buf, size_t size, const union nftnl_data_reg *reg, uint32_t flags) { - int len = size, offset = 0, ret = 0; + int remain = size, offset = 0, ret = 0; ret = snprintf(buf, size, "%s ", nftnl_verdict2str(reg->verdict)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (reg->chain != NULL) { - ret = snprintf(buf+offset, len, "-> %s ", reg->chain); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "-> %s ", reg->chain); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -171,20 +171,20 @@ nftnl_data_reg_verdict_snprintf_json(char *buf, size_t size, const union nftnl_data_reg *reg, uint32_t flags) { - int len = size, offset = 0, ret = 0; + int remain = size, offset = 0, ret = 0; ret = snprintf(buf, size, "\"reg\":{\"type\":\"verdict\"," "\"verdict\":\"%s\"", nftnl_verdict2str(reg->verdict)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (reg->chain != NULL) { - ret = snprintf(buf+offset, len, ",\"chain\":\"%s\"", + ret = snprintf(buf + offset, remain, ",\"chain\":\"%s\"", reg->chain); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, "}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/dup.c b/src/expr/dup.c index 9aa332b..ed8e620 100644 --- a/src/expr/dup.c +++ b/src/expr/dup.c @@ -151,17 +151,17 @@ static int nftnl_expr_dup_snprintf_default(char *buf, size_t len, const struct nftnl_expr *e, uint32_t flags) { - int size = len, offset = 0, ret; + int remain = len, offset = 0, ret; struct nftnl_expr_dup *dup = nftnl_expr_data(e); if (e->flags & (1 << NFTNL_EXPR_DUP_SREG_ADDR)) { ret = snprintf(buf + offset, len, "sreg_addr %u ", dup->sreg_addr); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_DUP_SREG_DEV)) { ret = snprintf(buf + offset, len, "sreg_dev %u ", dup->sreg_dev); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/dynset.c b/src/expr/dynset.c index f7b99ea..861879e 100644 --- a/src/expr/dynset.c +++ b/src/expr/dynset.c @@ -276,34 +276,35 @@ nftnl_expr_dynset_snprintf_default(char *buf, size_t size, { struct nftnl_expr_dynset *dynset = nftnl_expr_data(e); struct nftnl_expr *expr; - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; - ret = snprintf(buf, len, "%s reg_key %u set %s ", + ret = snprintf(buf, remain, "%s reg_key %u set %s ", op2str(dynset->op), dynset->sreg_key, dynset->set_name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->flags & (1 << NFTNL_EXPR_DYNSET_SREG_DATA)) { - ret = snprintf(buf+offset, len, "sreg_data %u ", dynset->sreg_data); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "sreg_data %u ", + dynset->sreg_data); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_DYNSET_TIMEOUT)) { - ret = snprintf(buf+offset, len, "timeout %"PRIu64"ms ", + ret = snprintf(buf + offset, remain, "timeout %"PRIu64"ms ", dynset->timeout); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_DYNSET_EXPR)) { expr = dynset->expr; - ret = snprintf(buf+offset, len, "expr [ %s ", + ret = snprintf(buf + offset, remain, "expr [ %s ", expr->ops->name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_expr_snprintf(buf+offset, len, expr, + ret = nftnl_expr_snprintf(buf + offset, remain, expr, NFTNL_OUTPUT_DEFAULT, NFTNL_OF_EVENT_ANY); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf+offset, len, "] "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "] "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/fib.c b/src/expr/fib.c index f3be081..b922b26 100644 --- a/src/expr/fib.c +++ b/src/expr/fib.c @@ -172,7 +172,7 @@ nftnl_expr_fib_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_fib *fib = nftnl_expr_data(e); - int len = size, offset = 0, ret, i; + int remain = size, offset = 0, ret, i; uint32_t flags = fib->flags & ~NFTA_FIB_F_PRESENT; uint32_t present_flag = fib->flags & NFTA_FIB_F_PRESENT; static const struct { @@ -188,27 +188,29 @@ nftnl_expr_fib_snprintf_default(char *buf, size_t size, for (i = 0; i < (sizeof(tab) / sizeof(tab[0])); i++) { if (flags & tab[i].bit) { - ret = snprintf(buf + offset, len, "%s ", tab[i].name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%s ", + tab[i].name); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); flags &= ~tab[i].bit; if (flags) { - ret = snprintf(buf + offset, len, ". "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, ". "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } } } if (flags) { - ret = snprintf(buf + offset, len, "unknown 0x%" PRIx32, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "unknown 0x%" PRIx32, + flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf + offset, len, "%s%s => reg %d ", + ret = snprintf(buf + offset, remain, "%s%s => reg %d ", fib_type_str(fib->result), present_flag ? " present" : "", fib->dreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/fwd.c b/src/expr/fwd.c index c30d494..1312ea1 100644 --- a/src/expr/fwd.c +++ b/src/expr/fwd.c @@ -132,12 +132,13 @@ static int nftnl_expr_fwd_snprintf_default(char *buf, size_t len, const struct nftnl_expr *e, uint32_t flags) { - int size = len, offset = 0, ret; + int remain = len, offset = 0, ret; struct nftnl_expr_fwd *fwd = nftnl_expr_data(e); if (e->flags & (1 << NFTNL_EXPR_FWD_SREG_DEV)) { - ret = snprintf(buf + offset, len, "sreg_dev %u ", fwd->sreg_dev); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "sreg_dev %u ", + fwd->sreg_dev); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/hash.c b/src/expr/hash.c index d870510..fcc4fa5 100644 --- a/src/expr/hash.c +++ b/src/expr/hash.c @@ -229,29 +229,31 @@ nftnl_expr_hash_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_hash *hash = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; switch (hash->type) { case NFT_HASH_SYM: ret = - snprintf(buf, len, "reg %u = symhash() %% mod %u ", hash->dreg, + snprintf(buf, remain, "reg %u = symhash() %% mod %u ", + hash->dreg, hash->modulus); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); break; case NFT_HASH_JENKINS: default: ret = - snprintf(buf, len, + snprintf(buf, remain, "reg %u = jhash(reg %u, %u, 0x%x) %% mod %u ", hash->dreg, hash->sreg, hash->len, hash->seed, hash->modulus); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); break; } if (hash->offset) { - ret = snprintf(buf + offset, len, "offset %u ", hash->offset); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "offset %u ", + hash->offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/immediate.c b/src/expr/immediate.c index 0b188cc..b0570bd 100644 --- a/src/expr/immediate.c +++ b/src/expr/immediate.c @@ -233,26 +233,26 @@ nftnl_expr_immediate_snprintf_default(char *buf, size_t len, const struct nftnl_expr *e, uint32_t flags) { - int size = len, offset = 0, ret; + int remain = len, offset = 0, ret; struct nftnl_expr_immediate *imm = nftnl_expr_data(e); - ret = snprintf(buf, len, "reg %u ", imm->dreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "reg %u ", imm->dreg); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->flags & (1 << NFTNL_EXPR_IMM_DATA)) { - ret = nftnl_data_reg_snprintf(buf+offset, len, &imm->data, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &imm->data, NFTNL_OUTPUT_DEFAULT, flags, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } else if (e->flags & (1 << NFTNL_EXPR_IMM_VERDICT)) { - ret = nftnl_data_reg_snprintf(buf+offset, len, &imm->data, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &imm->data, NFTNL_OUTPUT_DEFAULT, flags, DATA_VERDICT); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } else if (e->flags & (1 << NFTNL_EXPR_IMM_CHAIN)) { - ret = nftnl_data_reg_snprintf(buf+offset, len, &imm->data, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &imm->data, NFTNL_OUTPUT_DEFAULT, flags, DATA_CHAIN); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/log.c b/src/expr/log.c index b642255..86d9651 100644 --- a/src/expr/log.c +++ b/src/expr/log.c @@ -229,44 +229,45 @@ static int nftnl_expr_log_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_log *log = nftnl_expr_data(e); - int ret, offset = 0, len = size; + int ret, offset = 0, remain = size; if (e->flags & (1 << NFTNL_EXPR_LOG_PREFIX)) { - ret = snprintf(buf, len, "prefix %s ", log->prefix); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "prefix %s ", log->prefix); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_LOG_GROUP)) { - ret = snprintf(buf + offset, len, + ret = snprintf(buf + offset, remain, "group %u snaplen %u qthreshold %u ", log->group, log->snaplen, log->qthreshold); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } else { if (e->flags & (1 << NFTNL_EXPR_LOG_LEVEL)) { - ret = snprintf(buf + offset, len, "level %u ", + ret = snprintf(buf + offset, remain, "level %u ", log->level); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_LOG_FLAGS)) { if (log->flags & NF_LOG_TCPSEQ) { - ret = snprintf(buf + offset, len, "tcpseq "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "tcpseq "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (log->flags & NF_LOG_TCPOPT) { - ret = snprintf(buf + offset, len, "tcpopt "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "tcpopt "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (log->flags & NF_LOG_IPOPT) { - ret = snprintf(buf + offset, len, "ipopt "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "ipopt "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (log->flags & NF_LOG_UID) { - ret = snprintf(buf + offset, len, "uid "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "uid "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (log->flags & NF_LOG_MACDECODE) { - ret = snprintf(buf + offset, len, "macdecode "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, + "macdecode "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } } } diff --git a/src/expr/lookup.c b/src/expr/lookup.c index 861815f..e4c05ec 100644 --- a/src/expr/lookup.c +++ b/src/expr/lookup.c @@ -219,20 +219,20 @@ static int nftnl_expr_lookup_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; struct nftnl_expr_lookup *l = nftnl_expr_data(e); - ret = snprintf(buf, len, "reg %u set %s ", l->sreg, l->set_name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "reg %u set %s ", l->sreg, l->set_name); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->flags & (1 << NFTNL_EXPR_LOOKUP_DREG)) { - ret = snprintf(buf+offset, len, "dreg %u ", l->dreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "dreg %u ", l->dreg); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_LOOKUP_FLAGS)) { - ret = snprintf(buf + offset, len, "0x%x ", l->flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "0x%x ", l->flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/nat.c b/src/expr/nat.c index 29bc3a2..9271303 100644 --- a/src/expr/nat.c +++ b/src/expr/nat.c @@ -304,31 +304,32 @@ nftnl_expr_nat_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_nat *nat = nftnl_expr_data(e); - int len = size, offset = 0, ret = 0; + int remain = size, offset = 0, ret = 0; - ret = snprintf(buf, len, "%s ", nat2str(nat->type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "%s ", nat2str(nat->type)); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf+offset, len, "%s ", nftnl_family2str(nat->family)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%s ", + nftnl_family2str(nat->family)); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->flags & (1 << NFTNL_EXPR_NAT_REG_ADDR_MIN)) { - ret = snprintf(buf+offset, len, + ret = snprintf(buf + offset, remain, "addr_min reg %u addr_max reg %u ", nat->sreg_addr_min, nat->sreg_addr_max); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_NAT_REG_PROTO_MIN)) { - ret = snprintf(buf+offset, len, + ret = snprintf(buf + offset, remain, "proto_min reg %u proto_max reg %u ", nat->sreg_proto_min, nat->sreg_proto_max); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_NAT_FLAGS)) { - ret = snprintf(buf+offset, len, "flags %u", nat->flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "flags %u", nat->flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/numgen.c b/src/expr/numgen.c index a15f03a..1369b01 100644 --- a/src/expr/numgen.c +++ b/src/expr/numgen.c @@ -176,26 +176,26 @@ nftnl_expr_ng_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_ng *ng = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; switch (ng->type) { case NFT_NG_INCREMENTAL: - ret = snprintf(buf, len, "reg %u = inc mod %u ", + ret = snprintf(buf, remain, "reg %u = inc mod %u ", ng->dreg, ng->modulus); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); break; case NFT_NG_RANDOM: - ret = snprintf(buf, len, "reg %u = random mod %u ", + ret = snprintf(buf, remain, "reg %u = random mod %u ", ng->dreg, ng->modulus); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); break; default: return 0; } if (ng->offset) { - ret = snprintf(buf + offset, len, "offset %u ", ng->offset); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "offset %u ", ng->offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; diff --git a/src/expr/queue.c b/src/expr/queue.c index 8a9deda..f62db9f 100644 --- a/src/expr/queue.c +++ b/src/expr/queue.c @@ -176,38 +176,38 @@ static int nftnl_expr_queue_snprintf_default(char *buf, size_t len, const struct nftnl_expr *e) { struct nftnl_expr_queue *queue = nftnl_expr_data(e); - int ret, size = len, offset = 0; + int ret, remain = len, offset = 0; uint16_t total_queues; if (e->flags & (1 << NFTNL_EXPR_QUEUE_NUM)) { total_queues = queue->queuenum + queue->queues_total - 1; ret = snprintf(buf + offset, len, "num %u", queue->queuenum); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (queue->queues_total && total_queues != queue->queuenum) { ret = snprintf(buf + offset, len, "-%u", total_queues); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } ret = snprintf(buf + offset, len, " "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_QUEUE_SREG_QNUM)) { ret = snprintf(buf + offset, len, "sreg_qnum %u ", queue->sreg_qnum); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (e->flags & (1 << NFTNL_EXPR_QUEUE_FLAGS)) { if (queue->flags & (NFT_QUEUE_FLAG_BYPASS)) { ret = snprintf(buf + offset, len, "bypass "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (queue->flags & (NFT_QUEUE_FLAG_CPU_FANOUT)) { ret = snprintf(buf + offset, len, "fanout "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } } return offset; diff --git a/src/expr/range.c b/src/expr/range.c index 8c8ce12..b2789ff 100644 --- a/src/expr/range.c +++ b/src/expr/range.c @@ -243,19 +243,19 @@ static int nftnl_expr_range_snprintf_default(char *buf, size_t size, const struct nftnl_expr *e) { struct nftnl_expr_range *range = nftnl_expr_data(e); - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; - ret = snprintf(buf, len, "%s reg %u ", + ret = snprintf(buf, remain, "%s reg %u ", expr_range_str[range->op], range->sreg); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf + offset, len, &range->data_from, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &range->data_from, NFTNL_OUTPUT_DEFAULT, 0, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf + offset, len, &range->data_to, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &range->data_to, NFTNL_OUTPUT_DEFAULT, 0, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/expr/redir.c b/src/expr/redir.c index 43538d5..b2aa345 100644 --- a/src/expr/redir.c +++ b/src/expr/redir.c @@ -176,25 +176,25 @@ static int nftnl_expr_redir_export(char *buf, size_t size, static int nftnl_expr_redir_snprintf_default(char *buf, size_t len, const struct nftnl_expr *e) { - int ret, size = len, offset = 0; + int ret, remain = len, offset = 0; struct nftnl_expr_redir *redir = nftnl_expr_data(e); if (nftnl_expr_is_set(e, NFTNL_EXPR_REDIR_REG_PROTO_MIN)) { ret = snprintf(buf + offset, len, "proto_min reg %u ", redir->sreg_proto_min); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (nftnl_expr_is_set(e, NFTNL_EXPR_REDIR_REG_PROTO_MAX)) { ret = snprintf(buf + offset, len, "proto_max reg %u ", redir->sreg_proto_max); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (nftnl_expr_is_set(e, NFTNL_EXPR_REDIR_FLAGS)) { - ret = snprintf(buf + offset , len, "flags 0x%x ", + ret = snprintf(buf + offset, len, "flags 0x%x ", redir->flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -166,22 +166,22 @@ static int nftnl_gen_cmd_snprintf(char *buf, size_t size, const struct nftnl_gen *gen, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch(type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_gen_snprintf_default(buf + offset, len, gen); + ret = nftnl_gen_snprintf_default(buf + offset, remain, gen); break; default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/object.c b/src/object.c index 9dc5b41..d15ec10 100644 --- a/src/object.c +++ b/src/object.c @@ -425,18 +425,19 @@ static int nftnl_obj_snprintf_dflt(char *buf, size_t size, uint32_t type, uint32_t flags) { const char *name = obj->ops ? obj->ops->name : "(unknown)"; - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; ret = snprintf(buf, size, "table %s name %s use %u [ %s ", obj->table, obj->name, obj->use, name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (obj->ops) { - ret = obj->ops->snprintf(buf + offset, offset, type, flags, obj); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = obj->ops->snprintf(buf + offset, offset, type, flags, + obj); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } ret = snprintf(buf + offset, offset, "]"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -445,27 +446,27 @@ static int nftnl_obj_cmd_snprintf(char *buf, size_t size, const struct nftnl_obj *obj, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch (type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_obj_snprintf_dflt(buf + offset, len, obj, type, + ret = nftnl_obj_snprintf_dflt(buf + offset, remain, obj, type, flags); break; case NFTNL_OUTPUT_JSON: - ret = nftnl_obj_export(buf + offset, len, obj, type, flags); + ret = nftnl_obj_export(buf + offset, remain, obj, type, flags); break; case NFTNL_OUTPUT_XML: default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -714,71 +714,71 @@ static int nftnl_rule_snprintf_default(char *buf, size_t size, uint32_t type, uint32_t flags) { struct nftnl_expr *expr; - int ret, len = size, offset = 0, i; + int ret, remain = size, offset = 0, i; if (r->flags & (1 << NFTNL_RULE_FAMILY)) { - ret = snprintf(buf+offset, len, "%s ", + ret = snprintf(buf + offset, remain, "%s ", nftnl_family2str(r->family)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->flags & (1 << NFTNL_RULE_TABLE)) { - ret = snprintf(buf+offset, len, "%s ", + ret = snprintf(buf + offset, remain, "%s ", r->table); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->flags & (1 << NFTNL_RULE_CHAIN)) { - ret = snprintf(buf+offset, len, "%s ", + ret = snprintf(buf + offset, remain, "%s ", r->chain); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->flags & (1 << NFTNL_RULE_HANDLE)) { - ret = snprintf(buf+offset, len, "%llu ", + ret = snprintf(buf + offset, remain, "%llu ", (unsigned long long)r->handle); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->flags & (1 << NFTNL_RULE_POSITION)) { - ret = snprintf(buf+offset, len, "%llu ", + ret = snprintf(buf + offset, remain, "%llu ", (unsigned long long)r->position); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->flags & (1 << NFTNL_RULE_ID)) { - ret = snprintf(buf + offset, len, "%u ", r->id); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%u ", r->id); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, "\n"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\n"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); list_for_each_entry(expr, &r->expr_list, head) { - ret = snprintf(buf+offset, len, " [ %s ", expr->ops->name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " [ %s ", expr->ops->name); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_expr_snprintf(buf+offset, len, expr, + ret = nftnl_expr_snprintf(buf + offset, remain, expr, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf+offset, len, "]\n"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "]\n"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (r->user.len) { - ret = snprintf(buf+offset, len, " userdata = { "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " userdata = { "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); for (i = 0; i < r->user.len; i++) { char *c = r->user.data; - ret = snprintf(buf+offset, len, "%c", + ret = snprintf(buf + offset, remain, "%c", isalnum(c[i]) ? c[i] : 0); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, " }\n"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " }\n"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } @@ -789,21 +789,21 @@ static int nftnl_rule_cmd_snprintf(char *buf, size_t size, const struct nftnl_rule *r, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; uint32_t inner_flags = flags; inner_flags &= ~NFTNL_OF_EVENT_ANY; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch(type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_rule_snprintf_default(buf+offset, len, r, type, + ret = nftnl_rule_snprintf_default(buf + offset, remain, r, type, inner_flags); break; case NFTNL_OUTPUT_JSON: - ret = nftnl_rule_export(buf+offset, len, r, type, + ret = nftnl_rule_export(buf + offset, remain, r, type, inner_flags); break; case NFTNL_OUTPUT_XML: @@ -811,10 +811,10 @@ static int nftnl_rule_cmd_snprintf(char *buf, size_t size, return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/ruleset.c b/src/ruleset.c index 6ef2956..1f20cc5 100644 --- a/src/ruleset.c +++ b/src/ruleset.c @@ -729,7 +729,7 @@ nftnl_ruleset_snprintf_table(char *buf, size_t size, { struct nftnl_table *t; struct nftnl_table_list_iter *ti; - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; ti = nftnl_table_list_iter_create(rs->table_list); if (ti == NULL) @@ -737,14 +737,14 @@ nftnl_ruleset_snprintf_table(char *buf, size_t size, t = nftnl_table_list_iter_next(ti); while (t != NULL) { - ret = nftnl_table_snprintf(buf+offset, len, t, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_table_snprintf(buf + offset, remain, t, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); t = nftnl_table_list_iter_next(ti); - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(t, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } nftnl_table_list_iter_destroy(ti); @@ -758,7 +758,7 @@ nftnl_ruleset_snprintf_chain(char *buf, size_t size, { struct nftnl_chain *c; struct nftnl_chain_list_iter *ci; - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; ci = nftnl_chain_list_iter_create(rs->chain_list); if (ci == NULL) @@ -766,14 +766,14 @@ nftnl_ruleset_snprintf_chain(char *buf, size_t size, c = nftnl_chain_list_iter_next(ci); while (c != NULL) { - ret = nftnl_chain_snprintf(buf+offset, len, c, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_chain_snprintf(buf + offset, remain, c, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); c = nftnl_chain_list_iter_next(ci); - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(c, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } nftnl_chain_list_iter_destroy(ci); @@ -787,7 +787,7 @@ nftnl_ruleset_snprintf_set(char *buf, size_t size, { struct nftnl_set *s; struct nftnl_set_list_iter *si; - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; si = nftnl_set_list_iter_create(rs->set_list); if (si == NULL) @@ -795,14 +795,14 @@ nftnl_ruleset_snprintf_set(char *buf, size_t size, s = nftnl_set_list_iter_next(si); while (s != NULL) { - ret = nftnl_set_snprintf(buf+offset, len, s, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_set_snprintf(buf + offset, remain, s, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); s = nftnl_set_list_iter_next(si); - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(s, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } nftnl_set_list_iter_destroy(si); @@ -816,7 +816,7 @@ nftnl_ruleset_snprintf_rule(char *buf, size_t size, { struct nftnl_rule *r; struct nftnl_rule_list_iter *ri; - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; ri = nftnl_rule_list_iter_create(rs->rule_list); if (ri == NULL) @@ -824,14 +824,14 @@ nftnl_ruleset_snprintf_rule(char *buf, size_t size, r = nftnl_rule_list_iter_next(ri); while (r != NULL) { - ret = nftnl_rule_snprintf(buf+offset, len, r, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_rule_snprintf(buf + offset, remain, r, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); r = nftnl_rule_list_iter_next(ri); - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(r, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } nftnl_rule_list_iter_destroy(ri); @@ -842,24 +842,25 @@ static int nftnl_ruleset_do_snprintf(char *buf, size_t size, const struct nftnl_ruleset *rs, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; void *prev = NULL; uint32_t inner_flags = flags; /* dont pass events flags to child calls of _snprintf() */ inner_flags &= ~NFTNL_OF_EVENT_ANY; - ret = snprintf(buf + offset, len, "%s", nftnl_ruleset_o_opentag(type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%s", + nftnl_ruleset_o_opentag(type)); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (nftnl_ruleset_is_set(rs, NFTNL_RULESET_TABLELIST) && (!nftnl_table_list_is_empty(rs->table_list))) { - ret = nftnl_ruleset_snprintf_table(buf+offset, len, rs, + ret = nftnl_ruleset_snprintf_table(buf + offset, remain, rs, type, inner_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (ret > 0) prev = rs->table_list; @@ -867,13 +868,13 @@ nftnl_ruleset_do_snprintf(char *buf, size_t size, const struct nftnl_ruleset *rs if (nftnl_ruleset_is_set(rs, NFTNL_RULESET_CHAINLIST) && (!nftnl_chain_list_is_empty(rs->chain_list))) { - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(prev, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_ruleset_snprintf_chain(buf+offset, len, rs, + ret = nftnl_ruleset_snprintf_chain(buf + offset, remain, rs, type, inner_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (ret > 0) prev = rs->chain_list; @@ -881,13 +882,13 @@ nftnl_ruleset_do_snprintf(char *buf, size_t size, const struct nftnl_ruleset *rs if (nftnl_ruleset_is_set(rs, NFTNL_RULESET_SETLIST) && (!nftnl_set_list_is_empty(rs->set_list))) { - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(prev, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_ruleset_snprintf_set(buf+offset, len, rs, + ret = nftnl_ruleset_snprintf_set(buf + offset, remain, rs, type, inner_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (ret > 0) prev = rs->set_list; @@ -895,20 +896,21 @@ nftnl_ruleset_do_snprintf(char *buf, size_t size, const struct nftnl_ruleset *rs if (nftnl_ruleset_is_set(rs, NFTNL_RULESET_RULELIST) && (!nftnl_rule_list_is_empty(rs->rule_list))) { - ret = snprintf(buf+offset, len, "%s", + ret = snprintf(buf + offset, remain, "%s", nftnl_ruleset_o_separator(prev, type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_ruleset_snprintf_rule(buf+offset, len, rs, + ret = nftnl_ruleset_snprintf_rule(buf + offset, remain, rs, type, inner_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf + offset, len, "%s", nftnl_ruleset_o_closetag(type)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%s", + nftnl_ruleset_o_closetag(type)); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -738,95 +738,96 @@ static int nftnl_set_snprintf_json(char *buf, size_t size, const struct nftnl_set *s, uint32_t type, uint32_t flags) { - int len = size, offset = 0, ret; + int remain = size, offset = 0, ret; struct nftnl_set_elem *elem; - ret = snprintf(buf, len, "{\"set\":{"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "{\"set\":{"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (s->flags & (1 << NFTNL_SET_NAME)) { - ret = snprintf(buf + offset, len, "\"name\":\"%s\"", + ret = snprintf(buf + offset, remain, "\"name\":\"%s\"", s->name); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_TABLE)) { - ret = snprintf(buf + offset, len, ",\"table\":\"%s\"", + ret = snprintf(buf + offset, remain, ",\"table\":\"%s\"", s->table); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_FLAGS)) { - ret = snprintf(buf + offset, len, ",\"flags\":%u", + ret = snprintf(buf + offset, remain, ",\"flags\":%u", s->set_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_FAMILY)) { - ret = snprintf(buf + offset, len, ",\"family\":\"%s\"", + ret = snprintf(buf + offset, remain, ",\"family\":\"%s\"", nftnl_family2str(s->family)); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_KEY_TYPE)) { - ret = snprintf(buf + offset, len, ",\"key_type\":%u", + ret = snprintf(buf + offset, remain, ",\"key_type\":%u", s->key_type); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_KEY_LEN)) { - ret = snprintf(buf + offset, len, ",\"key_len\":%u", + ret = snprintf(buf + offset, remain, ",\"key_len\":%u", s->key_len); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if(s->flags & (1 << NFTNL_SET_DATA_TYPE)) { - ret = snprintf(buf + offset, len, + ret = snprintf(buf + offset, remain, ",\"data_type\":%u", s->data_type); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if(s->flags & (1 << NFTNL_SET_DATA_LEN)) { - ret = snprintf(buf + offset, len, ",\"data_len\":%u", s->data_len); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, ",\"data_len\":%u", + s->data_len); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_OBJ_TYPE)) { - ret = snprintf(buf + offset, len, + ret = snprintf(buf + offset, remain, ",\"obj_type\":%u", s->obj_type); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_POLICY)) { - ret = snprintf(buf + offset, len, ",\"policy\":%u", + ret = snprintf(buf + offset, remain, ",\"policy\":%u", s->policy); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_DESC_SIZE)) { - ret = snprintf(buf + offset, len, ",\"desc_size\":%u", + ret = snprintf(buf + offset, remain, ",\"desc_size\":%u", s->desc.size); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } /* Empty set? Skip printinf of elements */ if (list_empty(&s->element_list)){ - ret = snprintf(buf + offset, len, "}}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "}}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } - ret = snprintf(buf + offset, len, ",\"set_elem\":["); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, ",\"set_elem\":["); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); list_for_each_entry(elem, &s->element_list, head) { - ret = snprintf(buf + offset, len, "{"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "{"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_set_elem_snprintf(buf + offset, len, elem, type, + ret = nftnl_set_elem_snprintf(buf + offset, remain, elem, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf + offset, len, "},"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "},"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } /* Overwrite trailing ", " from last set element */ offset --; - ret = snprintf(buf + offset, len, "]}}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "]}}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } @@ -836,48 +837,49 @@ static int nftnl_set_snprintf_default(char *buf, size_t size, uint32_t type, uint32_t flags) { int ret; - int len = size, offset = 0; + int remain = size, offset = 0; struct nftnl_set_elem *elem; - ret = snprintf(buf, len, "%s %s %x", + ret = snprintf(buf, remain, "%s %s %x", s->name, s->table, s->set_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (s->flags & (1 << NFTNL_SET_TIMEOUT)) { - ret = snprintf(buf + offset, len, " timeout %"PRIu64"ms", + ret = snprintf(buf + offset, remain, " timeout %"PRIu64"ms", s->timeout); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_GC_INTERVAL)) { - ret = snprintf(buf + offset, len, " gc_interval %ums", + ret = snprintf(buf + offset, remain, " gc_interval %ums", s->gc_interval); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_POLICY)) { - ret = snprintf(buf + offset, len, " policy %u", s->policy); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " policy %u", s->policy); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } if (s->flags & (1 << NFTNL_SET_DESC_SIZE)) { - ret = snprintf(buf + offset, len, " size %u", s->desc.size); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " size %u", s->desc.size); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } /* Empty set? Skip printinf of elements */ if (list_empty(&s->element_list)) return offset; - ret = snprintf(buf+offset, len, "\n"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\n"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); list_for_each_entry(elem, &s->element_list, head) { - ret = snprintf(buf+offset, len, "\t"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\t"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_set_elem_snprintf(buf+offset, len, elem, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_set_elem_snprintf(buf + offset, remain, elem, type, + flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -887,7 +889,7 @@ static int nftnl_set_cmd_snprintf(char *buf, size_t size, const struct nftnl_set *s, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; uint32_t inner_flags = flags; if (type == NFTNL_OUTPUT_XML) @@ -896,26 +898,26 @@ static int nftnl_set_cmd_snprintf(char *buf, size_t size, /* prevent set_elems to print as events */ inner_flags &= ~NFTNL_OF_EVENT_ANY; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch(type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_set_snprintf_default(buf+offset, len, s, type, + ret = nftnl_set_snprintf_default(buf + offset, remain, s, type, inner_flags); break; case NFTNL_OUTPUT_JSON: - ret = nftnl_set_snprintf_json(buf+offset, len, s, type, + ret = nftnl_set_snprintf_json(buf + offset, remain, s, type, inner_flags); break; default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/set_elem.c b/src/set_elem.c index 433b896..532b33f 100644 --- a/src/set_elem.c +++ b/src/set_elem.c @@ -605,22 +605,22 @@ static int nftnl_set_elem_snprintf_json(char *buf, size_t size, const struct nftnl_set_elem *e, uint32_t flags) { - int ret, len = size, offset = 0, type = -1; + int ret, remain = size, offset = 0, type = -1; if (e->flags & (1 << NFTNL_SET_ELEM_FLAGS)) { - ret = snprintf(buf, len, "\"flags\":%u,", e->set_elem_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "\"flags\":%u,", e->set_elem_flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf + offset, len, "\"key\":{"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "\"key\":{"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf + offset, len, &e->key, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &e->key, NFTNL_OUTPUT_JSON, flags, DATA_VALUE); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf + offset, len, "}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->flags & (1 << NFTNL_SET_ELEM_DATA)) type = DATA_VALUE; @@ -630,15 +630,15 @@ static int nftnl_set_elem_snprintf_json(char *buf, size_t size, type = DATA_VERDICT; if (type != -1) { - ret = snprintf(buf + offset, len, ",\"data\":{"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, ",\"data\":{"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_data_reg_snprintf(buf + offset, len, &e->data, + ret = nftnl_data_reg_snprintf(buf + offset, remain, &e->data, NFTNL_OUTPUT_JSON, flags, type); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = snprintf(buf + offset, len, "}"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "}"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -647,41 +647,41 @@ static int nftnl_set_elem_snprintf_json(char *buf, size_t size, static int nftnl_set_elem_snprintf_default(char *buf, size_t size, const struct nftnl_set_elem *e) { - int ret, len = size, offset = 0, i; + int ret, remain = size, offset = 0, i; - ret = snprintf(buf, len, "element "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf, remain, "element "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); for (i = 0; i < div_round_up(e->key.len, sizeof(uint32_t)); i++) { - ret = snprintf(buf+offset, len, "%.8x ", e->key.val[i]); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%.8x ", e->key.val[i]); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, " : "); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " : "); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); for (i = 0; i < div_round_up(e->data.len, sizeof(uint32_t)); i++) { - ret = snprintf(buf+offset, len, "%.8x ", e->data.val[i]); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%.8x ", e->data.val[i]); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, "%u [end]", e->set_elem_flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, "%u [end]", e->set_elem_flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); if (e->user.len) { - ret = snprintf(buf+offset, len, " userdata = {"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " userdata = {"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); for (i = 0; i < e->user.len; i++) { char *c = e->user.data; - ret = snprintf(buf+offset, len, "%c", + ret = snprintf(buf + offset, remain, "%c", isalnum(c[i]) ? c[i] : 0); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } - ret = snprintf(buf+offset, len, " }\n"); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = snprintf(buf + offset, remain, " }\n"); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); } return offset; @@ -692,29 +692,30 @@ static int nftnl_set_elem_cmd_snprintf(char *buf, size_t size, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; if (type == NFTNL_OUTPUT_XML) return 0; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch(type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_set_elem_snprintf_default(buf+offset, len, e); + ret = nftnl_set_elem_snprintf_default(buf + offset, remain, e); break; case NFTNL_OUTPUT_JSON: - ret = nftnl_set_elem_snprintf_json(buf+offset, len, e, flags); + ret = nftnl_set_elem_snprintf_json(buf + offset, remain, e, + flags); break; default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } diff --git a/src/table.c b/src/table.c index a7d5a8f..80f85df 100644 --- a/src/table.c +++ b/src/table.c @@ -376,26 +376,26 @@ static int nftnl_table_cmd_snprintf(char *buf, size_t size, const struct nftnl_table *t, uint32_t cmd, uint32_t type, uint32_t flags) { - int ret, len = size, offset = 0; + int ret, remain = size, offset = 0; - ret = nftnl_cmd_header_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_header_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); switch (type) { case NFTNL_OUTPUT_DEFAULT: - ret = nftnl_table_snprintf_default(buf+offset, len, t); + ret = nftnl_table_snprintf_default(buf + offset, remain, t); break; case NFTNL_OUTPUT_XML: case NFTNL_OUTPUT_JSON: - ret = nftnl_table_export(buf+offset, len, t, type); + ret = nftnl_table_export(buf + offset, remain, t, type); break; default: return -1; } - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); - ret = nftnl_cmd_footer_snprintf(buf + offset, len, cmd, type, flags); - SNPRINTF_BUFFER_SIZE(ret, size, len, offset); + ret = nftnl_cmd_footer_snprintf(buf + offset, remain, cmd, type, flags); + SNPRINTF_BUFFER_SIZE(ret, remain, offset); return offset; } |