(main): Properly handle what the POSIX spec calls
authorJim Meyering <jim@meyering.net>
Wed, 22 Jan 1997 04:53:52 +0000 (04:53 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 22 Jan 1997 04:53:52 +0000 (04:53 +0000)
the `obsolescent' usage (e.g., tail +2c).  It didn't work.
Reported by Karl Heuer.

src/tail.c

index bc82f10..d79435f 100644 (file)
@@ -874,15 +874,15 @@ main (int argc, char **argv)
          strtol_error s_err;
          char *p;
 
-         s_err = xstrtol (++argv[1], &p, 0, &tmp_long, "bkm");
+         s_err = xstrtol (++argv[1], &p, 0, &tmp_long, "cbkm");
          n_units = tmp_long;
          if (s_err == LONGINT_OVERFLOW)
            {
              STRTOL_FATAL_ERROR (argv[1], _("argument"), s_err);
            }
 
-         /* If a [bkm] suffix was given then count bytes, not lines.  */
-         if (p[-1] == 'b' || p[-1] == 'k' || p[-1] == 'm')
+         /* If a [bckm] suffix was given then count bytes, not lines.  */
+         if (p[-1] == 'b' || p[-1] == 'c' || p[-1] == 'k' || p[-1] == 'm')
            count_lines = 0;
 
          /* Parse any appended option letters.  */
@@ -890,11 +890,6 @@ main (int argc, char **argv)
            {
              switch (*p)
                {
-               case 'c':
-                 /* Interpret N_UNITS as # of bytes.  */
-                 count_lines = 0;
-                 break;
-
                case 'f':
                  forever = 1;
                  break;