* [PATCH nft v2 2/2] src: Always print range expressions numerically
@ 2017-02-02 12:31 Elise Lennion
2017-02-05 20:42 ` Pablo Neira Ayuso
0 siblings, 1 reply; 2+ messages in thread
From: Elise Lennion @ 2017-02-02 12:31 UTC (permalink / raw)
To: pablo; +Cc: netfilter-devel
Because the rules are more legible this way. Also, the parser doesn't
accept strings on ranges, so, printing ranges numerically better match
the rules definition.
Fixes(Bug 1046 - mobility header with range gives illegible rule).
Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
---
v2: Replace ternary operator with if statements.
Remove the new NUMERIC_CONSTANT, now uses a value bigger than
NUMERIC_ALL to print symbolic constants as numbers, this case
is only met during expr_range_print.
src/datatype.c | 8 +++++++-
src/expression.c | 2 ++
2 files changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/datatype.c b/src/datatype.c
index 1518606..d697a07 100644
--- a/src/datatype.c
+++ b/src/datatype.c
@@ -175,9 +175,15 @@ void symbolic_constant_print(const struct symbol_table *tbl,
return expr_basetype(expr)->print(expr);
if (quotes)
- printf("\"%s\"", s->identifier);
+ printf("\"");
+
+ if (numeric_output > NUMERIC_ALL)
+ printf("%lu", val);
else
printf("%s", s->identifier);
+
+ if (quotes)
+ printf("\"");
}
static void switch_byteorder(void *data, unsigned int len)
diff --git a/src/expression.c b/src/expression.c
index 1567870..da94b79 100644
--- a/src/expression.c
+++ b/src/expression.c
@@ -597,9 +597,11 @@ struct expr *relational_expr_alloc(const struct location *loc, enum ops op,
static void range_expr_print(const struct expr *expr)
{
+ numeric_output += NUMERIC_ALL + 1;
expr_print(expr->left);
printf("-");
expr_print(expr->right);
+ numeric_output -= NUMERIC_ALL + 1;
}
static void range_expr_clone(struct expr *new, const struct expr *expr)
--
2.7.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH nft v2 2/2] src: Always print range expressions numerically
2017-02-02 12:31 [PATCH nft v2 2/2] src: Always print range expressions numerically Elise Lennion
@ 2017-02-05 20:42 ` Pablo Neira Ayuso
0 siblings, 0 replies; 2+ messages in thread
From: Pablo Neira Ayuso @ 2017-02-05 20:42 UTC (permalink / raw)
To: Elise Lennion; +Cc: netfilter-devel
On Thu, Feb 02, 2017 at 10:31:56AM -0200, Elise Lennion wrote:
> Because the rules are more legible this way. Also, the parser doesn't
> accept strings on ranges, so, printing ranges numerically better match
> the rules definition.
Also applied, thanks.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-05 20:42 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-02 12:31 [PATCH nft v2 2/2] src: Always print range expressions numerically Elise Lennion
2017-02-05 20:42 ` Pablo Neira Ayuso
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.