date: handle long options
RFC2822 obsoletes RFC822; Silently accept --rfc-822 and return rfc2822 output for compatibility. Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
This commit is contained in:
parent
9d57a8073a
commit
ca22cda709
@ -69,6 +69,18 @@ static void maybe_set_utc(int opt)
|
||||
putenv((char*)"TZ=UTC0");
|
||||
}
|
||||
|
||||
#if ENABLE_LONG_OPTS
|
||||
static const char date_longopts[] ALIGN1 =
|
||||
"rfc-822\0" No_argument "R"
|
||||
"rfc-2822\0" No_argument "R"
|
||||
"set\0" Required_argument "s"
|
||||
"utc\0" No_argument "u"
|
||||
/*"universal\0" No_argument "u"*/
|
||||
"date\0" Required_argument "d"
|
||||
"reference\0" Required_argument "r"
|
||||
;
|
||||
#endif
|
||||
|
||||
int date_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
|
||||
int date_main(int argc UNUSED_PARAM, char **argv)
|
||||
{
|
||||
@ -84,6 +96,7 @@ int date_main(int argc UNUSED_PARAM, char **argv)
|
||||
|
||||
opt_complementary = "d--s:s--d"
|
||||
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
|
||||
IF_LONG_OPTS(applet_long_options = date_longopts;)
|
||||
opt = getopt32(argv, "Rs:ud:r:"
|
||||
IF_FEATURE_DATE_ISOFMT("I::D:"),
|
||||
&date_str, &date_str, &filename
|
||||
|
@ -673,17 +673,27 @@
|
||||
#define date_full_usage "\n\n" \
|
||||
"Display time (using +FMT), or set time\n" \
|
||||
"\nOptions:" \
|
||||
IF_NOT_LONG_OPTS( \
|
||||
"\n [-s] TIME Set time to TIME" \
|
||||
"\n -u Work in UTC (don't convert to local time)" \
|
||||
"\n -R Output RFC-822 compliant date string" \
|
||||
"\n -R Output RFC-2822 compliant date string" \
|
||||
) IF_LONG_OPTS( \
|
||||
"\n [-s,--set] TIME Set time to TIME" \
|
||||
"\n -u,--utc Work in UTC (don't convert to local time)" \
|
||||
"\n -R,--rfc-2822 Output RFC-2822 compliant date string" \
|
||||
) \
|
||||
IF_FEATURE_DATE_ISOFMT( \
|
||||
"\n -I[SPEC] Output ISO-8601 compliant date string" \
|
||||
"\n SPEC='date' (default) for date only," \
|
||||
"\n 'hours', 'minutes', or 'seconds' for date and" \
|
||||
"\n time to the indicated precision" \
|
||||
) \
|
||||
) IF_NOT_LONG_OPTS( \
|
||||
"\n -r FILE Display last modification time of FILE" \
|
||||
"\n -d TIME Display TIME, not 'now'" \
|
||||
) IF_LONG_OPTS( \
|
||||
"\n -r,--reference FILE Display last modification time of FILE" \
|
||||
"\n -d,--date TIME Display TIME, not 'now'" \
|
||||
) \
|
||||
IF_FEATURE_DATE_ISOFMT( \
|
||||
"\n -D FMT Use FMT for -d TIME conversion" \
|
||||
) \
|
||||
|
Loading…
Reference in New Issue
Block a user