From fbbdb0a37edf93b93bc030e9136bf24caf899c9f Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sun, 23 Oct 2016 14:55:05 -0700 Subject: Default to epoch time in time-parse. * lib.c (epoch_time): New static function. (time_parse): Default the struct tm to epoch. * txr.1: Documented. --- lib.c | 10 +++++++++- txr.1 | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/lib.c b/lib.c index 8ffadc8c..5a65e6c7 100644 --- a/lib.c +++ b/lib.c @@ -9770,9 +9770,17 @@ val make_time(val year, val month, val day, #if HAVE_STRPTIME +static struct tm epoch_tm(void) +{ + struct tm ep = { 0 }; + ep.tm_year = 70; + ep.tm_mday = 1; + return ep; +} + val time_parse(val format, val string) { - struct tm tms = { 0 }; + struct tm tms = epoch_tm(); const wchar_t *w_str = c_str(string); const wchar_t *w_fmt = c_str(format); char *str = utf8_dup_to(w_str); diff --git a/txr.1 b/txr.1 index be63e62b..a6065766 100644 --- a/txr.1 +++ b/txr.1 @@ -38756,6 +38756,16 @@ argument follows the same conventions as the POSIX C library function .codn strptime . +Prior to obtaining the time from +.meta format +and +.meta string +the returned structure is created and initialized +with a time which represents time 0 ("the epoch") +if interpreted in the UTC timezone as by the +.meta time-utc +method. + Note: the availability of .code time-parse depends on the availability of -- cgit v1.2.3