From a91b8272372d8ee7f2b4c7443d2e92f765f69d72 Mon Sep 17 00:00:00 2001 From: rswindell <> Date: Tue, 28 Jun 2005 08:45:36 +0000 Subject: [PATCH] parseDateTime() now supports ISO-8601 standard date/time format: "CCYYMMDDTHHMMSS". --- src/xpdev/ini_file.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/xpdev/ini_file.c b/src/xpdev/ini_file.c index 8d90d52822..6bd03b9d58 100644 --- a/src/xpdev/ini_file.c +++ b/src/xpdev/ini_file.c @@ -42,6 +42,7 @@ #if !defined(NO_SOCKET_SUPPORT) #include "sockwrap.h" /* inet_addr */ #endif +#include "datewrap.h" /* isoDateTime_t */ #include "dirwrap.h" /* fexist */ #include "filewrap.h" /* chsize */ #include "ini_file.h" @@ -1203,6 +1204,7 @@ static time_t parseDateTime(const char* value) time_t t; struct tm tm; struct tm curr_tm; + isoDateTime_t iso; ZERO_VAR(tm); tstr[0]=0; @@ -1214,6 +1216,11 @@ static time_t parseDateTime(const char* value) tm.tm_year=curr_tm.tm_year; } + /* CCYYMMDDTHHMMSS <--- ISO-8601 date and time format */ + if(sscanf(value,"%uT%u" + ,&iso.date,&iso.time)>=2) + return(isoDateTime_to_time(iso)); + /* DD.MM.[CC]YY [time] [p] <-- Euro/Canadian numeric date format */ if(sscanf(value,"%u.%u.%u %s %c" ,&tm.tm_mday,&tm.tm_mon,&tm.tm_year,tstr,&pm)>=2 -- GitLab