280 |
unsigned rest; |
unsigned rest; |
281 |
int i; |
int i; |
282 |
struct tm tm; |
struct tm tm; |
283 |
|
int diff, dow; |
284 |
|
|
285 |
if (argc < 2 || argc > 5) { |
if (argc < 2 || argc > 5) { |
286 |
fprintf(stderr, |
fprintf(stderr, |
287 |
_("%s: wrong number of arguments\n"), argv[0]); |
_("%s: wrong number of arguments\n"), argv[0]); |
299 |
case 4: |
case 4: |
300 |
tm.tm_hour = atoi(argv[3]); |
tm.tm_hour = atoi(argv[3]); |
301 |
case 3: |
case 3: |
302 |
tm.tm_wday = 0; |
dow = atoi(argv[2]); |
303 |
tm.tm_mday += atoi(argv[2]); |
diff = dow - tm.tm_wday; |
304 |
tm.tm_yday += atoi(argv[2]); |
tm.tm_wday = dow; |
305 |
|
tm.tm_mday += diff; |
306 |
|
tm.tm_yday += diff; |
307 |
t = mktime(&tm); |
t = mktime(&tm); |
308 |
break; |
break; |
309 |
case 2: |
case 2: |