From d3e4ae4056078dd9b7f96026ebcd80c487ebb123 Mon Sep 17 00:00:00 2001 From: Samuel Serapion Date: Sun, 31 Aug 2008 03:22:13 +0000 Subject: [PATCH] Make crt call win32 time APIs, like WINE svn path=/branches/ros-amd64-bringup/; revision=35829 --- reactos/lib/sdk/crt/time/strdate.c | 18 ++++++------------ reactos/lib/sdk/crt/time/strtime.c | 17 +++++------------ reactos/lib/sdk/crt/time/wstrdate.c | 18 ++++++------------ reactos/lib/sdk/crt/time/wstrtime.c | 17 +++++------------ 4 files changed, 22 insertions(+), 48 deletions(-) diff --git a/reactos/lib/sdk/crt/time/strdate.c b/reactos/lib/sdk/crt/time/strdate.c index fc03ad9ec05..22c188f9ccf 100644 --- a/reactos/lib/sdk/crt/time/strdate.c +++ b/reactos/lib/sdk/crt/time/strdate.c @@ -12,18 +12,12 @@ /* * @implemented */ -char* _strdate(char* datestr) +char* _strdate(char* date) { - time_t t; - struct tm* d; - char* dt = (char*)datestr; + static const char format[] = "MM'/'dd'/'yy"; + + GetDateFormatA(LOCALE_NEUTRAL, 0, NULL, format, date, 9); + + return date; - if (datestr == NULL) { - __set_errno(EINVAL); - return NULL; - } - t = time(NULL); - d = localtime(&t); - sprintf(dt,"%d/%d/%d",d->tm_mday,d->tm_mon+1,d->tm_year); - return dt; } diff --git a/reactos/lib/sdk/crt/time/strtime.c b/reactos/lib/sdk/crt/time/strtime.c index 8d0e87ac839..d6e10687152 100644 --- a/reactos/lib/sdk/crt/time/strtime.c +++ b/reactos/lib/sdk/crt/time/strtime.c @@ -12,18 +12,11 @@ /* * @implemented */ -char* _strtime(char* buf) +char* _strtime(char* time) { - time_t t; - struct tm *d; - char* dt = (char*)buf; + static const char format[] = "HH':'mm':'ss"; - if ( buf == NULL ) { - __set_errno(EINVAL); - return NULL; - } - t = time(NULL); - d = localtime(&t); - sprintf(dt,"%d:%d:%d",d->tm_hour,d->tm_min,d->tm_sec); - return dt; + GetTimeFormatA(LOCALE_NEUTRAL, 0, NULL, format, time, 9); + + return time; } diff --git a/reactos/lib/sdk/crt/time/wstrdate.c b/reactos/lib/sdk/crt/time/wstrdate.c index 559385b7c5b..a19e3b9d5d2 100644 --- a/reactos/lib/sdk/crt/time/wstrdate.c +++ b/reactos/lib/sdk/crt/time/wstrdate.c @@ -12,18 +12,12 @@ /* * @implemented */ -wchar_t* _wstrdate(wchar_t* datestr) +wchar_t* _wstrdate(wchar_t* date) { - time_t t; - struct tm* d; - wchar_t* dt = (wchar_t*)datestr; + static const WCHAR format[] = { 'M','M','\'','/','\'','d','d','\'','/','\'','y','y',0 }; + + GetDateFormatW(LOCALE_NEUTRAL, 0, NULL, format, (LPWSTR)date, 9); + + return date; - if (datestr == NULL) { - __set_errno(EINVAL); - return NULL; - } - t = time(NULL); - d = localtime(&t); - swprintf(dt,L"%d/%d/%d",d->tm_mday,d->tm_mon+1,d->tm_year); - return dt; } diff --git a/reactos/lib/sdk/crt/time/wstrtime.c b/reactos/lib/sdk/crt/time/wstrtime.c index fc78a593242..bc8f5bb3d50 100644 --- a/reactos/lib/sdk/crt/time/wstrtime.c +++ b/reactos/lib/sdk/crt/time/wstrtime.c @@ -12,18 +12,11 @@ /* * @implemented */ -wchar_t* _wstrtime(wchar_t* buf) +wchar_t* _wstrtime(wchar_t* time) { - time_t t; - struct tm* d; - wchar_t* dt = (wchar_t*)buf; + static const WCHAR format[] = { 'H','H','\'',':','\'','m','m','\'',':','\'','s','s',0 }; - if ( buf == NULL ) { - __set_errno(EINVAL); - return NULL; - } - t = time(NULL); - d = localtime(&t); - swprintf(dt,L"%d:%d:%d",d->tm_hour,d->tm_min,d->tm_sec); - return dt; + GetTimeFormatW(LOCALE_NEUTRAL, 0, NULL, format, (LPWSTR)time, 9); + + return time; }