aboutsummaryrefslogtreecommitdiff
path: root/date.c
diff options
context:
space:
mode:
Diffstat (limited to 'date.c')
-rw-r--r--date.c51
1 files changed, 30 insertions, 21 deletions
diff --git a/date.c b/date.c
index 2e99aea19..a8f0d7ced 100644
--- a/date.c
+++ b/date.c
@@ -160,26 +160,27 @@ int date_main(int argc, char **argv)
160 /* Interpret command line args */ 160 /* Interpret command line args */
161 while ((c = getopt(argc, argv, "Rs:ud:")) != EOF) { 161 while ((c = getopt(argc, argv, "Rs:ud:")) != EOF) {
162 switch (c) { 162 switch (c) {
163 case 'R': 163 case 'R':
164 rfc822 = 1; 164 rfc822 = 1;
165 break; 165 break;
166 case 's': 166 case 's':
167 set_time = 1; 167 set_time = 1;
168 if ((date_str != NULL) || ((date_str = optarg) == NULL)) 168 if ((date_str != NULL) || ((date_str = optarg) == NULL)) {
169 usage(date_usage);
170 }
171 break;
172 case 'u':
173 utc = 1;
174 if (putenv("TZ=UTC0") != 0)
175 fatalError(memory_exhausted);
176 break;
177 case 'd':
178 use_arg = 1;
179 if ((date_str != NULL) || ((date_str = optarg) == NULL))
180 usage(date_usage);
181 break;
182 default:
169 usage(date_usage); 183 usage(date_usage);
170 break;
171 case 'u':
172 utc = 1;
173 if (putenv("TZ=UTC0") != 0)
174 fatalError(memory_exhausted);
175 break;
176 case 'd':
177 use_arg = 1;
178 if ((date_str != NULL) || ((date_str = optarg) == NULL))
179 usage(date_usage);
180 break;
181 default:
182 usage(date_usage);
183 } 184 }
184 } 185 }
185 186
@@ -188,9 +189,13 @@ int date_main(int argc, char **argv)
188 else if (date_str == NULL) { 189 else if (date_str == NULL) {
189 set_time = 1; 190 set_time = 1;
190 date_str = argv[optind]; 191 date_str = argv[optind];
191 } else { 192 }
193#if 0
194 else {
195 errorMsg("date_str='%s' date_fmt='%s'\n", date_str, date_fmt);
192 usage(date_usage); 196 usage(date_usage);
193 } 197 }
198#endif
194 199
195 /* Now we have parsed all the information except the date format 200 /* Now we have parsed all the information except the date format
196 which depends on whether the clock is being set or read */ 201 which depends on whether the clock is being set or read */
@@ -217,11 +222,15 @@ int date_main(int argc, char **argv)
217 tm = mktime(&tm_time); 222 tm = mktime(&tm_time);
218 if (tm < 0) 223 if (tm < 0)
219 fatalError(invalid_date, date_str); 224 fatalError(invalid_date, date_str);
225 if ( utc ) {
226 if (putenv("TZ=UTC0") != 0)
227 fatalError(memory_exhausted);
228 }
220 229
221 /* if setting time, set it */ 230 /* if setting time, set it */
222 if (set_time) { 231 if (set_time) {
223 if (stime(&tm) < 0) { 232 if (stime(&tm) < 0) {
224 fatalError("can't set date.\n"); 233 perrorMsg("cannot set date");
225 } 234 }
226 } 235 }
227 } 236 }