]> git.ipfire.org Git - thirdparty/iptables.git/commitdiff
Fix u32 warnings
authorJan Engelhardt <jengelh@medozas.de>
Wed, 19 Sep 2007 12:59:33 +0000 (12:59 +0000)
committerPatrick McHardy <kaber@trash.net>
Wed, 19 Sep 2007 12:59:33 +0000 (12:59 +0000)
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@computergmbh.de>

extensions/libxt_u32.c

index e2642f39a3f6ea541f38d0f716dd66e92a6d0937..b1c6bcdacbdd38b05a0a09c01cdbe606e81a76a5 100644 (file)
@@ -142,8 +142,8 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
 
                        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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
                        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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
                                        } 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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
                                        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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
                        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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
                                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 @@ static int u32_parse(int c, char **argv, int invert, unsigned int *flags,
 
                                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));
                        }
                }
        }