--- arg.h | 15 ++++++++++++++- fold.c | 4 +++- head.c | 4 +++- tail.c | 3 +++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/arg.h b/arg.h index 2009b70..becf91b 100644 --- a/arg.h +++ b/arg.h _AT_@ -29,11 +29,25 @@ extern char *argv0; _argc = argv[0][0];\ switch (_argc) +/* Handles obsolete -NUM syntax */ +#define ARGNUM case '0':\ + case '1':\ + case '2':\ + case '3':\ + case '4':\ + case '5':\ + case '6':\ + case '7':\ + case '8':\ + case '9' + #define ARGEND }\ } #define ARGC() _argc +#define ARGNUMF(base) (estrtol(argv[0], (base))) + #define EARGF(x) ((argv[0][1] == '\0' && argv[1] == NULL)?\ ((x), abort(), (char *)0) :\ (brk = 1, (argv[0][1] != '\0')?\ _AT_@ -47,4 +61,3 @@ extern char *argv0; (argc--, argv++, argv[0]))) #endif - diff --git a/fold.c b/fold.c index bbbb28a..d327c62 100644 --- a/fold.c +++ b/fold.c _AT_@ -35,6 +35,9 @@ main(int argc, char *argv[]) case 'w': width = estrtol(EARGF(usage()), 0); break; + ARGNUM: + width = ARGNUMF(0); + break; default: usage(); } ARGEND; _AT_@ -102,4 +105,3 @@ foldline(const char *str, long width) putchar('\n'); } while(str[i = n] && str[i] != '\n'); } - diff --git a/head.c b/head.c index 0cf8680..8011151 100644 --- a/head.c +++ b/head.c _AT_@ -23,6 +23,9 @@ main(int argc, char *argv[]) case 'n': n = estrtol(EARGF(usage()), 0); break; + ARGNUM: + n = ARGNUMF(0); + break; default: usage(); } ARGEND; _AT_@ -53,4 +56,3 @@ head(FILE *fp, const char *str, long n) if(ferror(fp)) eprintf("%s: read error:", str); } - diff --git a/tail.c b/tail.c index da222b6..9c241db 100644 --- a/tail.c +++ b/tail.c _AT_@ -30,6 +30,9 @@ main(int argc, char *argv[]) if(lines[0] == '+') tail = dropinit; break; + ARGNUM: + n = ARGNUMF(0); + break; default: usage(); } ARGEND; -- 1.8.3.4 --G4iJoqBmSsgzjUCe--Received on Mon Sep 17 2001 - 00:00:00 CEST
This archive was generated by hypermail 2.3.0 : Mon Nov 11 2013 - 22:00:04 CET