summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorPhil Sutter <phil@nwl.cc>2024-10-01 18:01:43 +0200
committerPhil Sutter <phil@nwl.cc>2024-10-01 21:44:24 +0200
commita96d5a338f24e781457a9d616e70d9cd67560ff0 (patch)
treed62c0ac9efa07da0f1279bbaac22ca1b84c10327 /src
parenta347296209c2de2ce5c4ee0f76a285f859e89fea (diff)
rule: Don't append a newline when printing a rule
Since commit c759027a526ac, printed rules may or may not end with a newline depending on whether userdata was present or not. Deal with this inconsistency by avoiding the trailing newline in all cases. Fixes: c759027a526ac ("rule, set_elem: remove trailing \n in userdata snprintf") Signed-off-by: Phil Sutter <phil@nwl.cc>
Diffstat (limited to 'src')
-rw-r--r--src/rule.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/src/rule.c b/src/rule.c
index 811d5a2..c22918a 100644
--- a/src/rule.c
+++ b/src/rule.c
@@ -573,23 +573,21 @@ static int nftnl_rule_snprintf_default(char *buf, size_t remain,
sep = " ";
}
- 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, remain, " [ %s ", expr->ops->name);
+ ret = snprintf(buf + offset, remain,
+ "\n [ %s ", expr->ops->name);
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
ret = nftnl_expr_snprintf(buf + offset, remain, expr,
type, flags);
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
- ret = snprintf(buf + offset, remain, "]\n");
+ ret = snprintf(buf + offset, remain, "]");
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
}
if (r->user.len) {
- ret = snprintf(buf + offset, remain, " userdata = { ");
+ ret = snprintf(buf + offset, remain, "\n userdata = { ");
SNPRINTF_BUFFER_SIZE(ret, remain, offset);
for (i = 0; i < r->user.len; i++) {