mail commands */
static const char date_usage[] = "date [OPTION]... [+FORMAT]\n"
- " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]\n\n"
- "Display the current time in the given FORMAT, or set the system date.\n"
- "\nOptions:\n\t-R\t\toutput RFC-822 compliant date string\n"
- "\t-s\t\tset time described by STRING\n"
-
- "\t-u\t\tprint or set Coordinated Universal Time\n";
+ " or: date [OPTION] [MMDDhhmm[[CC]YY][.ss]]\n"
+#ifndef BB_FEATURE_TRIVIAL_HELP
+ "\nDisplays the current time in the given FORMAT, or sets the system date.\n"
+ "\nOptions:\n\t-R\tOutputs RFC-822 compliant date string\n"
+ "\t-s\tSets time described by STRING\n"
+ "\t-u\tPrints or sets Coordinated Universal Time\n"
+#endif
+ ;
/* Input parsing code is always bulky - used heavy duty libc stuff as
&(tm_time->tm_min), &(tm_time->tm_year));
if (nr < 4 || nr > 5) {
- fprintf(stderr, invalid_date, "date", t_string);
- exit(FALSE);
+ fatalError(invalid_date, t_string);
}
/* correct for century - minor Y2K problem here? */
}
- fprintf(stderr, invalid_date, "date", t_string);
-
- exit(FALSE);
-
+ fatalError(invalid_date, t_string);
}
set_time = 1;
if (date_str != NULL)
usage(date_usage);
- date_str = optarg;
+ date_str = *argv;
break;
case 'u':
utc = 1;
- if (putenv("TZ=UTC0") != 0) {
- fprintf(stderr, memory_exhausted, "date");
- exit(FALSE);
- }
- /* Look ma, no break. Don't fix it either. */
+ if (putenv("TZ=UTC0") != 0)
+ fatalError(memory_exhausted);
+ break;
case 'd':
use_arg = 1;
if (date_str != NULL)
usage(date_usage);
- date_str = optarg;
+ date_str = *argv;
break;
case '-':
usage(date_usage);
/* Correct any day of week and day of year etc fields */
tm = mktime(&tm_time);
- if (tm < 0) {
- fprintf(stderr, invalid_date, "date", date_str);
- exit(FALSE);
- }
+ if (tm < 0)
+ fatalError(invalid_date, date_str);
/* if setting time, set it */
if (set_time) {
if (stime(&tm) < 0) {
- fprintf(stderr, "date: can't set date.\n");
- exit(FALSE);
+ fatalError("can't set date.\n");
}
}
}
strftime(t_buff, 200, date_fmt, &tm_time);
printf("%s\n", t_buff);
- exit(TRUE);
-
+ return(TRUE);
}