[netfilter-cvslog] r7049 - trunk/iptables/extensions
kaber at trash.net
kaber at trash.net
Wed Sep 19 14:59:33 CEST 2007
Author: kaber at trash.net
Date: 2007-09-19 14:59:33 +0200 (Wed, 19 Sep 2007)
New Revision: 7049
Modified:
trunk/iptables/extensions/libxt_u32.c
Log:
[PATCH]: Fix u32 warnings
warning: format '%ld' expects type 'long int', but argument 3 has type 'int'.
With %u alone, you would get "but arg-start is long" warnings on x64.
With %lu, you would get "but arg-start is int" on x86.
Fix it up by explicitly deciding for one (%u and cast to unsigned int)
and using that.
Jan Engelhardt <jengelh at computergmbh.de>
Modified: trunk/iptables/extensions/libxt_u32.c
===================================================================
--- trunk/iptables/extensions/libxt_u32.c 2007-09-19 12:47:45 UTC (rev 7048)
+++ trunk/iptables/extensions/libxt_u32.c 2007-09-19 12:59:33 UTC (rev 7049)
@@ -142,8 +142,8 @@
if (testind > XT_U32_MAXSIZE)
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: too many \"&&\"s",
- arg - start);
+ "u32: at char %u: too many \"&&\"s",
+ (unsigned int)(arg - start));
return 1;
}
@@ -155,9 +155,9 @@
if (*arg == '=') {
if (locind == 0) {
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: "
+ "u32: at char %u: "
"location spec missing",
- arg - start);
+ (unsigned int)(arg - start));
} else {
++arg;
state = 1;
@@ -170,18 +170,18 @@
} else if (*arg == '<') {
if (*++arg != '<')
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: a second < expected", arg - start);
+ "u32: at char %u: a second '<' was expected", (unsigned int)(arg - start));
ct->location[locind].nextop = XT_U32_LEFTSH;
} else if (*arg == '>') {
if (*++arg != '>')
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: a second > expected", arg - start);
+ "u32: at char %u: a second '>' was expected", (unsigned int)(arg - start));
ct->location[locind].nextop = XT_U32_RIGHTSH;
} else if (*arg == '@') {
ct->location[locind].nextop = XT_U32_AT;
} else {
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: operator expected", arg - start);
+ "u32: at char %u: operator expected", (unsigned int)(arg - start));
}
++arg;
}
@@ -190,7 +190,7 @@
parse_number(&arg, arg - start);
if (++locind > XT_U32_MAXSIZE)
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: too many operators", arg - start);
+ "u32: at char %u: too many operators", (unsigned int)(arg - start));
}
} else {
/*
@@ -201,17 +201,17 @@
if (*arg == '&') {
if (*++arg != '&')
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: a second & was expected", arg - start);
+ "u32: at char %u: a second '&' was expected", (unsigned int)(arg - start));
if (valind == 0) {
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: value spec missing", arg - start);
+ "u32: at char %u: value spec missing", (unsigned int)(arg - start));
} else {
ct->nnums = locind;
ct->nvalues = valind;
ct = &data->tests[++testind];
if (testind > XT_U32_MAXSIZE)
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: too many \"&&\"s", arg - start);
+ "u32: at char %u: too many \"&&\"s", (unsigned int)(arg - start));
++arg;
state = 0;
locind = 0;
@@ -221,7 +221,7 @@
if (valind > 0) { /* need , before number */
if (*arg != ',')
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: expected , or &&", arg - start);
+ "u32: at char %u: expected \",\" or \"&&\"", (unsigned int)(arg - start));
++arg;
}
ct->value[valind].min =
@@ -241,7 +241,7 @@
if (++valind > XT_U32_MAXSIZE)
exit_error(PARAMETER_PROBLEM,
- "u32: at char %ld: too many \",\"s", arg - start);
+ "u32: at char %u: too many \",\"s", (unsigned int)(arg - start));
}
}
}
More information about the netfilter-cvslog
mailing list