From 9c94af210bd9d0836a6e8699b123ee1a1109e2ba Mon Sep 17 00:00:00 2001 From: Jakob Kaivo Date: Mon, 12 Aug 2019 13:39:46 -0400 Subject: actually handle obsolete options --- tail.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/tail.c b/tail.c index 92e0e01..0e7ac5a 100644 --- a/tail.c +++ b/tail.c @@ -123,27 +123,19 @@ void fixobsolete(int argc, char *argv[]) continue; } - if (argv[i][0] == '+') { - if (!isdigit(argv[i][1])) { - argv[i][0] = '-'; - continue; - } - - fprintf(stderr, "tail: +# is obsolete; use -n or -l\n"); - /* TODO: convert */ - } - - if (argv[i][0] == '-' && isdigit(argv[i][1])) { - fprintf(stderr, "tail: -# is obsolete; use -n or -l\n"); + if ((argv[i][0] == '-' || argv[i][0] == '+') && isdigit(argv[i][1])) { + fprintf(stderr, "tail: %c# is obsolete; use -n or -c\n", argv[i][0]); char *opt = malloc(strlen(argv[i]) + 3); if (opt == NULL) { perror("tail"); exit(1); } + sprintf(opt, "-n %s", argv[i]); /* TODO */ /* no suffix or 'l' => -l */ /* 'c' => -c */ /* 'b' => -c 512 * n */ + argv[i] = opt; } } } @@ -158,6 +150,7 @@ int main(int argc, char *argv[]) int c; char *end; + fixobsolete(argc, argv); while ((c = getopt(argc, argv, "c:fn:")) != -1) { switch (c) { case 'c': -- cgit v1.2.1