]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
more: fix pointer wrap around compiler warnings
authorSami Kerola <kerolasa@iki.fi>
Sun, 17 Jun 2012 13:01:34 +0000 (15:01 +0200)
committerSami Kerola <kerolasa@iki.fi>
Sun, 17 Jun 2012 16:00:00 +0000 (18:00 +0200)
more.c:318:5: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]
more.c:362:3: warning: assuming pointer wraparound does not occur when comparing P +- C1 with P +- C2 [-Wstrict-overflow]

Signed-off-by: Sami Kerola <kerolasa@iki.fi>
text-utils/more.c

index acd58c8b01a01cd50b78182b6266d0f9f2cc7653..4cf090fd6eb6421e6da3c02d6015bcdbc9229a83 100644 (file)
@@ -318,7 +318,6 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out)
 int main(int argc, char **argv) {
     FILE       *f;
     char       *s;
-    char       *p;
     int                ch;
     int                left;
     int                prnames = 0;
@@ -326,7 +325,7 @@ int main(int argc, char **argv) {
     int                srchopt = 0;
     int                clearit = 0;
     int                initline = 0;
-    char       initbuf[INIT_BUF];
+    char       *initbuf = NULL;
 
     setlocale(LC_ALL, "");
     bindtextdomain(PACKAGE, LOCALEDIR);
@@ -359,9 +358,7 @@ int main(int argc, char **argv) {
            s = *fnames;
            if (*++s == '/') {
                srchopt++;
-               for (++s, p = initbuf; p < initbuf + (INIT_BUF - 1) && *s != '\0';)
-                   *p++ = *s++;
-               *p = '\0';
+               initbuf = xstrdup(s + 1);
            }
            else {
                initopt++;
@@ -496,6 +493,7 @@ int main(int argc, char **argv) {
        firstf = 0;
     }
     free (previousre);
+    free (initbuf);
     reset_tty ();
     exit(EXIT_SUCCESS);
 }