touch: implement -d --date (our own testsuite needs that)

function                                             old     new   delta
static.uname_longopts                                  -     137    +137
touch_main                                           231     360    +129
static.touch_longopts                                  -      32     +32
validate_tm_time                                       -      28     +28
packed_usage                                       26616   26624      +8
date_main                                            687     686      -1
static.longopts                                      162       -    -162
------------------------------------------------------------------------------
(add/remove: 3/1 grow/shrink: 2/1 up/down: 334/-163)          Total: 171 bytes

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Denys Vlasenko
2009-07-18 03:41:29 +02:00
parent 73b71f381d
commit 7aca89a7a3
12 changed files with 64 additions and 29 deletions

View File

@ -71,6 +71,15 @@ void FAST_FUNC parse_datestr(const char *date_str, struct tm *tm_time)
}
}
time_t FAST_FUNC validate_tm_time(const char *date_str, struct tm *tm_time)
{
time_t t = mktime(tm_time);
if (t == (time_t) -1L) {
bb_error_msg_and_die(bb_msg_invalid_date, date_str);
}
return t;
}
#if ENABLE_MONOTONIC_SYSCALL
#include <sys/syscall.h>