diff options
Diffstat (limited to 'coreutils/cal.c')
-rw-r--r-- | coreutils/cal.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/coreutils/cal.c b/coreutils/cal.c index 7973b82a1..1f498fb7f 100644 --- a/coreutils/cal.c +++ b/coreutils/cal.c | |||
@@ -77,7 +77,7 @@ static char *build_row(char *p, unsigned *dp); | |||
77 | #define HEAD_SEP 2 /* spaces between day headings */ | 77 | #define HEAD_SEP 2 /* spaces between day headings */ |
78 | 78 | ||
79 | int cal_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; | 79 | int cal_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE; |
80 | int cal_main(int argc, char **argv) | 80 | int cal_main(int argc UNUSED_PARAM, char **argv) |
81 | { | 81 | { |
82 | struct tm *local_time; | 82 | struct tm *local_time; |
83 | struct tm zero_tm; | 83 | struct tm zero_tm; |
@@ -92,13 +92,8 @@ int cal_main(int argc, char **argv) | |||
92 | option_mask32 &= 1; | 92 | option_mask32 &= 1; |
93 | month = 0; | 93 | month = 0; |
94 | argv += optind; | 94 | argv += optind; |
95 | argc -= optind; | ||
96 | 95 | ||
97 | if (argc > 2) { | 96 | if (!argv[0]) { |
98 | bb_show_usage(); | ||
99 | } | ||
100 | |||
101 | if (!argc) { | ||
102 | time(&now); | 97 | time(&now); |
103 | local_time = localtime(&now); | 98 | local_time = localtime(&now); |
104 | year = local_time->tm_year + 1900; | 99 | year = local_time->tm_year + 1900; |
@@ -106,7 +101,10 @@ int cal_main(int argc, char **argv) | |||
106 | month = local_time->tm_mon + 1; | 101 | month = local_time->tm_mon + 1; |
107 | } | 102 | } |
108 | } else { | 103 | } else { |
109 | if (argc == 2) { | 104 | if (argv[1]) { |
105 | if (argv[2]) { | ||
106 | bb_show_usage(); | ||
107 | } | ||
110 | month = xatou_range(*argv++, 1, 12); | 108 | month = xatou_range(*argv++, 1, 12); |
111 | } | 109 | } |
112 | year = xatou_range(*argv, 1, 9999); | 110 | year = xatou_range(*argv, 1, 9999); |