diff options
Diffstat (limited to 'src/fib.c')
-rw-r--r-- | src/fib.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -73,7 +73,7 @@ static void __fib_expr_print_f(unsigned int *flags, unsigned int f, const char * static void fib_expr_print(const struct expr *expr) { - unsigned int flags = expr->fib.flags; + unsigned int flags = expr->fib.flags & ~NFTA_FIB_F_PRESENT; printf("fib "); __fib_expr_print_f(&flags, NFTA_FIB_F_SADDR, "saddr"); @@ -130,6 +130,9 @@ struct expr *fib_expr_alloc(const struct location *loc, BUG("Unknown result %d\n", result); } + if (flags & NFTA_FIB_F_PRESENT) + type = &boolean_type; + expr = expr_alloc(loc, &fib_expr_ops, type, BYTEORDER_HOST_ENDIAN, len); |