summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorElise Lennion <elise.lennion@gmail.com>2017-01-18 21:06:47 -0200
committerPablo Neira Ayuso <pablo@netfilter.org>2017-01-23 14:26:16 +0100
commit1967b4f67cfbb64d12fc4953db35e3d7aa5f773e (patch)
treed7b7c8ee574de41091196622f693f9eab68b73ff /src
parentf7a68589c0b3bf2085c9066d99d6ee680c6e6751 (diff)
src: Honor obligatory stateless printing of flow tables
Always print flow statement as stateless expressions, given that this just defines the flow table statement instance that is allocated per entry. Signed-off-by: Elise Lennion <elise.lennion@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/main.c4
-rw-r--r--src/statement.c5
2 files changed, 7 insertions, 2 deletions
diff --git a/src/main.c b/src/main.c
index 6d073d5c..6ba752b1 100644
--- a/src/main.c
+++ b/src/main.c
@@ -30,12 +30,12 @@
unsigned int max_errors = 10;
unsigned int numeric_output;
+unsigned int stateless_output;
unsigned int ip2name_output;
unsigned int handle_output;
#ifdef DEBUG
unsigned int debug_level;
#endif
-bool stateless_output;
const char *include_paths[INCLUDE_PATHS_MAX] = { DEFAULT_INCLUDE_PATH };
static unsigned int num_include_paths = 1;
@@ -291,7 +291,7 @@ int main(int argc, char * const *argv)
numeric_output++;
break;
case OPT_STATELESS:
- stateless_output = true;
+ stateless_output++;
break;
case OPT_IP2NAME:
ip2name_output++;
diff --git a/src/statement.c b/src/statement.c
index 25bed65f..9cdabbb9 100644
--- a/src/statement.c
+++ b/src/statement.c
@@ -117,8 +117,13 @@ static void flow_stmt_print(const struct stmt *stmt)
printf("{ ");
expr_print(stmt->flow.key);
printf(" ");
+
+ stateless_output++;
stmt_print(stmt->flow.stmt);
+ stateless_output--;
+
printf("} ");
+
}
static void flow_stmt_destroy(struct stmt *stmt)