summaryrefslogtreecommitdiffstats
path: root/extensions/libipt_condition.c
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/libipt_condition.c')
-rw-r--r--extensions/libipt_condition.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/extensions/libipt_condition.c b/extensions/libipt_condition.c
index f15c94ca..750111b4 100644
--- a/extensions/libipt_condition.c
+++ b/extensions/libipt_condition.c
@@ -1,3 +1,4 @@
+/* Shared library add-on to iptables for condition match */
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -39,13 +40,13 @@ parse(int c, char **argv, int invert, unsigned int *flags,
struct condition_info *info =
(struct condition_info *) (*match)->data;
- check_inverse(optarg, &invert, &optind, 0);
-
if (c == 'X') {
if (*flags)
exit_error(PARAMETER_PROBLEM,
"Can't specify multiple conditions");
+ check_inverse(optarg, &invert, &optind, 0);
+
if (strlen(argv[optind - 1]) < CONDITION_NAME_LEN)
strcpy(info->name, argv[optind - 1]);
else
@@ -88,7 +89,7 @@ save(const struct ipt_ip *ip,
const struct condition_info *info =
(const struct condition_info *) match->data;
- printf("--condition %s%s ", (info->invert) ? "! " : "", info->name);
+ printf("--condition %s\"%s\" ", (info->invert) ? "! " : "", info->name);
}