1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-08-17 17:08:20 +02:00

Add more support for POSIX 1003.1-2001, which requires removal for

support of obsolete "-N" option syntax in expand, head, fold,
split, tail, unexpand, uniq, and which prohibits options with
optional arguments in od and pr.

(main): Check for obsolete options.
(main): Fix bug: -- -N was treated as -N --.
This commit is contained in:
Jim Meyering
2002-02-02 07:58:50 +00:00
parent 33f9d106bc
commit f87b5cab0c
+28 -15
View File
@@ -1,5 +1,5 @@
/* fold -- wrap each input line to fit in specified width.
Copyright (C) 91, 1995-2001 Free Software Foundation, Inc.
Copyright (C) 91, 1995-2002 Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -79,6 +79,10 @@ Mandatory arguments to long options are mandatory for short options too.\n\
-b, --bytes count bytes rather than columns\n\
-s, --spaces break at spaces\n\
-w, --width=WIDTH use WIDTH columns instead of 80\n\
"), stdout);
if (POSIX2_VERSION < 200112)
fputs (_("\
-WIDTH (obsolete) same as -w WIDTH\n\
"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
@@ -246,20 +250,29 @@ main (int argc, char **argv)
break_spaces = count_bytes = have_read_stdin = 0;
/* Turn any numeric options into -w options. */
for (i = 1; i < argc; i++)
{
if (argv[i][0] == '-' && ISDIGIT (argv[i][1]))
{
char *s;
s = xmalloc (strlen (argv[i]) + 2);
s[0] = '-';
s[1] = 'w';
strcpy (s + 2, argv[i] + 1);
argv[i] = s;
}
}
/* If obsolete, turn any numeric options into -w options. */
if (POSIX2_VERSION < 200112)
for (i = 1; i < argc; i++)
{
char const *a = argv[i];
if (a[0] == '-')
{
if (a[1] == '-' && ! a[2])
break;
if (ISDIGIT (a[1]))
{
char *s = xmalloc (strlen (a) + 2);
s[0] = '-';
s[1] = 'w';
strcpy (s + 2, a + 1);
argv[i] = s;
if (OBSOLETE_OPTION_WARNINGS && ! getenv ("POSIXLY_CORRECT"))
error (0, 0,
_("warning: `fold %s' is obsolete; use `fold -w %s'"),
a, a + 1);
}
}
}
while ((optc = getopt_long (argc, argv, "bsw:", longopts, NULL)) != -1)
{