]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
(check): Print `disorder on...' message on standard error, not stdout.
authorJim Meyering <jim@meyering.net>
Sun, 30 Jul 1995 05:02:37 +0000 (05:02 +0000)
committerJim Meyering <jim@meyering.net>
Sun, 30 Jul 1995 05:02:37 +0000 (05:02 +0000)
This is a minor concession to POSIX which says `no output shall be produced'.
(main): Fix -k so it works. -k 2,3 was being treated like -k 2.
Reported by Marcus Daniels <marcus@sysc.pdx.edu>.

src/sort.c

index 1d9025b214434059599f362cfdc5b1f166187354..897f5a6f33ba99168e31511015adf9f22d3deb30 100644 (file)
@@ -1246,7 +1246,7 @@ check (files, nfiles)
       fp = xfopen (files[i], "r");
       if (!checkfp (fp))
        {
-         printf ("%s: disorder on %s\n", program_name, files[i]);
+         fprintf (stderr, "%s: disorder on %s\n", program_name, files[i]);
          ++disorders;
        }
     }
@@ -1644,6 +1644,8 @@ main (argc, argv)
                        if (t)
                              t--;
                        t2 = 0;
+                       /* FIXME: It's an error to specify `.'
+                          but no char-spec. */
                        if (*s == '.')
                          {
                            for (++s; digits[UCHAR (*s)]; ++s)
@@ -1651,6 +1653,11 @@ main (argc, argv)
                            if (t2)
                              t2--;
                          }
+                       else
+                         {
+                           /* `-k 2,3' is equivalent to `+1 -3'.  */
+                           ++t;
+                         }
                        key->eword = t;
                        key->echar = t2;
                        s = set_ordering (s, key, bl_end);