diff options
author | sandman <sandman@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-05-17 22:18:04 +0000 |
---|---|---|
committer | sandman <sandman@69ca8d6d-28ef-0310-b511-8ec308f3f277> | 2002-05-17 22:18:04 +0000 |
commit | cc58e00131b21c0323133d3b414208273cdfb16f (patch) | |
tree | a948e20b6776ca384779aee363db04c02e541be7 /coreutils/head.c | |
parent | 5e633dddba6664d30a4bb852ac57b0de9d4be924 (diff) | |
download | busybox-w32-cc58e00131b21c0323133d3b414208273cdfb16f.tar.gz busybox-w32-cc58e00131b21c0323133d3b414208273cdfb16f.tar.bz2 busybox-w32-cc58e00131b21c0323133d3b414208273cdfb16f.zip |
SUpport old style -[::digit::] options for head and tail
Also make head behave like GNU head (-0/-n 0 is valid)
git-svn-id: svn://busybox.net/trunk/busybox@4782 69ca8d6d-28ef-0310-b511-8ec308f3f277
Diffstat (limited to 'coreutils/head.c')
-rw-r--r-- | coreutils/head.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/coreutils/head.c b/coreutils/head.c index 4a1677146..c5c11fc7b 100644 --- a/coreutils/head.c +++ b/coreutils/head.c | |||
@@ -47,12 +47,17 @@ int head_main(int argc, char **argv) | |||
47 | FILE *fp; | 47 | FILE *fp; |
48 | int need_headers, opt, len = 10, status = EXIT_SUCCESS; | 48 | int need_headers, opt, len = 10, status = EXIT_SUCCESS; |
49 | 49 | ||
50 | if (( argc >= 2 ) && ( strlen ( argv [1] ) >= 2 ) && ( argv [1][0] == '-' ) && isdigit ( argv [1][1] )) { | ||
51 | len = atoi ( &argv [1][1] ); | ||
52 | optind = 2; | ||
53 | } | ||
54 | |||
50 | /* parse argv[] */ | 55 | /* parse argv[] */ |
51 | while ((opt = getopt(argc, argv, "n:")) > 0) { | 56 | while ((opt = getopt(argc, argv, "n:")) > 0) { |
52 | switch (opt) { | 57 | switch (opt) { |
53 | case 'n': | 58 | case 'n': |
54 | len = atoi(optarg); | 59 | len = atoi(optarg); |
55 | if (len >= 1) | 60 | if (len >= 0) |
56 | break; | 61 | break; |
57 | /* fallthrough */ | 62 | /* fallthrough */ |
58 | default: | 63 | default: |