From 7aca89a7a32a1e560c447952c28a8b1e7fb775fc Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Sat, 18 Jul 2009 03:41:29 +0200 Subject: 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 --- libbb/time.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'libbb/time.c') diff --git a/libbb/time.c b/libbb/time.c index 30b760f71..1cf2a050e 100644 --- a/libbb/time.c +++ b/libbb/time.c @@ -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 -- cgit v1.2.3