summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2019-08-12 13:39:46 -0400
committerJakob Kaivo <jkk@ung.org>2019-08-12 13:39:46 -0400
commit9c94af210bd9d0836a6e8699b123ee1a1109e2ba (patch)
tree65b4c714e5e65c99a50704217f379494e77b1f51
parent8c07c676867594da5c2307226117ba9550630173 (diff)
actually handle obsolete optionsHEADmaster
-rw-r--r--tail.c17
1 files 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':