aboutsummaryrefslogtreecommitdiff
path: root/coreutils/date.c
diff options
context:
space:
mode:
Diffstat (limited to 'coreutils/date.c')
-rw-r--r--coreutils/date.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/coreutils/date.c b/coreutils/date.c
index 3a89b6caf..d8e56ef3b 100644
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -97,7 +97,9 @@
97//usage:#define date_full_usage "\n\n" 97//usage:#define date_full_usage "\n\n"
98//usage: "Display time (using +FMT), or set time\n" 98//usage: "Display time (using +FMT), or set time\n"
99//usage: "\n -u Work in UTC (don't convert to local time)" 99//usage: "\n -u Work in UTC (don't convert to local time)"
100//usage: IF_NOT_PLATFORM_MINGW32(
100//usage: "\n [-s] TIME Set time to TIME" 101//usage: "\n [-s] TIME Set time to TIME"
102//usage: )
101//usage: "\n -d TIME Display TIME, not 'now'" 103//usage: "\n -d TIME Display TIME, not 'now'"
102//usage: IF_FEATURE_DATE_ISOFMT( 104//usage: IF_FEATURE_DATE_ISOFMT(
103//usage: "\n -D FMT FMT (strptime format) for -s/-d TIME conversion" 105//usage: "\n -D FMT FMT (strptime format) for -s/-d TIME conversion"
@@ -132,19 +134,30 @@
132 134
133enum { 135enum {
134 OPT_RFC2822 = (1 << 0), /* R */ 136 OPT_RFC2822 = (1 << 0), /* R */
137#if !ENABLE_PLATFORM_MINGW32
135 OPT_SET = (1 << 1), /* s */ 138 OPT_SET = (1 << 1), /* s */
136 OPT_UTC = (1 << 2), /* u */ 139 OPT_UTC = (1 << 2), /* u */
137 OPT_DATE = (1 << 3), /* d */ 140 OPT_DATE = (1 << 3), /* d */
138 OPT_REFERENCE = (1 << 4), /* r */ 141 OPT_REFERENCE = (1 << 4), /* r */
139 OPT_ISO8601 = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */ 142 OPT_ISO8601 = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
140 OPT_STR2DT = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */ 143 OPT_STR2DT = (1 << 6) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
144#else
145 OPT_SET = (0), /* s */
146 OPT_UTC = (1 << 1), /* u */
147 OPT_DATE = (1 << 2), /* d */
148 OPT_REFERENCE = (1 << 3), /* r */
149 OPT_ISO8601 = (1 << 4) * ENABLE_FEATURE_DATE_ISOFMT, /* I */
150 OPT_STR2DT = (1 << 5) * ENABLE_FEATURE_DATE_ISOFMT, /* D */
151#endif
141}; 152};
142 153
143#if ENABLE_LONG_OPTS 154#if ENABLE_LONG_OPTS
144static const char date_longopts[] ALIGN1 = 155static const char date_longopts[] ALIGN1 =
145 "rfc-822\0" No_argument "R" 156 "rfc-822\0" No_argument "R"
146 "rfc-2822\0" No_argument "R" 157 "rfc-2822\0" No_argument "R"
158#if !ENABLE_PLATFORM_MINGW32
147 "set\0" Required_argument "s" 159 "set\0" Required_argument "s"
160#endif
148 "utc\0" No_argument "u" 161 "utc\0" No_argument "u"
149 /* "universal\0" No_argument "u" */ 162 /* "universal\0" No_argument "u" */
150 "date\0" Required_argument "d" 163 "date\0" Required_argument "d"
@@ -174,13 +187,25 @@ int date_main(int argc UNUSED_PARAM, char **argv)
174 char *isofmt_arg = NULL; 187 char *isofmt_arg = NULL;
175 188
176 opt = getopt32long(argv, "^" 189 opt = getopt32long(argv, "^"
190#if !ENABLE_PLATFORM_MINGW32
177 "Rs:ud:r:" 191 "Rs:ud:r:"
192#else
193 "Rud:r:"
194#endif
178 IF_FEATURE_DATE_ISOFMT("I::D:") 195 IF_FEATURE_DATE_ISOFMT("I::D:")
196#if !ENABLE_PLATFORM_MINGW32
179 "\0" 197 "\0"
180 "d--s:s--d" 198 "d--s:s--d"
181 IF_FEATURE_DATE_ISOFMT(":R--I:I--R"), 199 IF_FEATURE_DATE_ISOFMT(":R--I:I--R"),
200#else
201 IF_FEATURE_DATE_ISOFMT("\0R--I:I--R"),
202#endif
182 date_longopts, 203 date_longopts,
204#if !ENABLE_PLATFORM_MINGW32
183 &date_str, &date_str, &filename 205 &date_str, &date_str, &filename
206#else
207 &date_str, &filename
208#endif
184 IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt) 209 IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt)
185 ); 210 );
186 argv += optind; 211 argv += optind;