Commit 6c4b7758 authored by Piotr Caban's avatar Piotr Caban Committed by Alexandre Julliard

msvcrt: Use struct tm from public header.

parent 8180f400
...@@ -44,8 +44,6 @@ typedef void (__cdecl *MSVCRT_security_error_handler)(int, void *); ...@@ -44,8 +44,6 @@ typedef void (__cdecl *MSVCRT_security_error_handler)(int, void *);
typedef struct {ULONG x80[3];} MSVCRT__LDOUBLE; /* Intel 80 bit FP format has sizeof() 12 */ typedef struct {ULONG x80[3];} MSVCRT__LDOUBLE; /* Intel 80 bit FP format has sizeof() 12 */
#define MSVCRT_tm tm
typedef struct __lc_time_data { typedef struct __lc_time_data {
union { union {
const char *str[43]; const char *str[43];
...@@ -145,7 +143,7 @@ struct __thread_data { ...@@ -145,7 +143,7 @@ struct __thread_data {
void *unk2[2]; void *unk2[2];
char *asctime_buffer; /* buffer for asctime */ char *asctime_buffer; /* buffer for asctime */
wchar_t *wasctime_buffer; /* buffer for wasctime */ wchar_t *wasctime_buffer; /* buffer for wasctime */
struct MSVCRT_tm *time_buffer; /* buffer for localtime/gmtime */ struct tm *time_buffer; /* buffer for localtime/gmtime */
char *efcvt_buffer; /* buffer for ecvt/fcvt */ char *efcvt_buffer; /* buffer for ecvt/fcvt */
int unk3[2]; int unk3[2];
void *unk4[3]; void *unk4[3];
......
...@@ -64,7 +64,7 @@ static inline BOOL IsLeapYear(int Year) ...@@ -64,7 +64,7 @@ static inline BOOL IsLeapYear(int Year)
return Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0); return Year % 4 == 0 && (Year % 100 != 0 || Year % 400 == 0);
} }
static inline void write_invalid_msvcrt_tm( struct MSVCRT_tm *tm ) static inline void write_invalid_msvcrt_tm( struct tm *tm )
{ {
tm->tm_sec = -1; tm->tm_sec = -1;
tm->tm_min = -1; tm->tm_min = -1;
...@@ -219,7 +219,7 @@ static BOOL is_dst(const SYSTEMTIME *st) ...@@ -219,7 +219,7 @@ static BOOL is_dst(const SYSTEMTIME *st)
#define TICKSPERMSEC 10000 #define TICKSPERMSEC 10000
#define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC) #define TICKS_1601_TO_1970 (SECS_1601_TO_1970 * TICKSPERSEC)
static __time64_t mktime_helper(struct MSVCRT_tm *mstm, BOOL local) static __time64_t mktime_helper(struct tm *mstm, BOOL local)
{ {
SYSTEMTIME st; SYSTEMTIME st;
FILETIME ft; FILETIME ft;
...@@ -310,7 +310,7 @@ static __time64_t mktime_helper(struct MSVCRT_tm *mstm, BOOL local) ...@@ -310,7 +310,7 @@ static __time64_t mktime_helper(struct MSVCRT_tm *mstm, BOOL local)
/********************************************************************** /**********************************************************************
* _mktime64 (MSVCRT.@) * _mktime64 (MSVCRT.@)
*/ */
__time64_t CDECL MSVCRT__mktime64(struct MSVCRT_tm *mstm) __time64_t CDECL MSVCRT__mktime64(struct tm *mstm)
{ {
return mktime_helper(mstm, TRUE); return mktime_helper(mstm, TRUE);
} }
...@@ -318,7 +318,7 @@ __time64_t CDECL MSVCRT__mktime64(struct MSVCRT_tm *mstm) ...@@ -318,7 +318,7 @@ __time64_t CDECL MSVCRT__mktime64(struct MSVCRT_tm *mstm)
/********************************************************************** /**********************************************************************
* _mktime32 (MSVCRT.@) * _mktime32 (MSVCRT.@)
*/ */
__time32_t CDECL MSVCRT__mktime32(struct MSVCRT_tm *mstm) __time32_t CDECL MSVCRT__mktime32(struct tm *mstm)
{ {
__time64_t ret = MSVCRT__mktime64( mstm ); __time64_t ret = MSVCRT__mktime64( mstm );
return ret == (__time32_t)ret ? ret : -1; return ret == (__time32_t)ret ? ret : -1;
...@@ -328,12 +328,12 @@ __time32_t CDECL MSVCRT__mktime32(struct MSVCRT_tm *mstm) ...@@ -328,12 +328,12 @@ __time32_t CDECL MSVCRT__mktime32(struct MSVCRT_tm *mstm)
* mktime (MSVCRT.@) * mktime (MSVCRT.@)
*/ */
#ifdef _WIN64 #ifdef _WIN64
__time64_t CDECL MSVCRT_mktime(struct MSVCRT_tm *mstm) __time64_t CDECL MSVCRT_mktime(struct tm *mstm)
{ {
return MSVCRT__mktime64( mstm ); return MSVCRT__mktime64( mstm );
} }
#else #else
__time32_t CDECL MSVCRT_mktime(struct MSVCRT_tm *mstm) __time32_t CDECL MSVCRT_mktime(struct tm *mstm)
{ {
return MSVCRT__mktime32( mstm ); return MSVCRT__mktime32( mstm );
} }
...@@ -344,7 +344,7 @@ __time32_t CDECL MSVCRT_mktime(struct MSVCRT_tm *mstm) ...@@ -344,7 +344,7 @@ __time32_t CDECL MSVCRT_mktime(struct MSVCRT_tm *mstm)
* *
* time->tm_isdst value is ignored * time->tm_isdst value is ignored
*/ */
__time64_t CDECL MSVCRT__mkgmtime64(struct MSVCRT_tm *time) __time64_t CDECL MSVCRT__mkgmtime64(struct tm *time)
{ {
return mktime_helper(time, FALSE); return mktime_helper(time, FALSE);
} }
...@@ -352,7 +352,7 @@ __time64_t CDECL MSVCRT__mkgmtime64(struct MSVCRT_tm *time) ...@@ -352,7 +352,7 @@ __time64_t CDECL MSVCRT__mkgmtime64(struct MSVCRT_tm *time)
/********************************************************************** /**********************************************************************
* _mkgmtime32 (MSVCRT.@) * _mkgmtime32 (MSVCRT.@)
*/ */
__time32_t CDECL MSVCRT__mkgmtime32(struct MSVCRT_tm *time) __time32_t CDECL MSVCRT__mkgmtime32(struct tm *time)
{ {
__time64_t ret = MSVCRT__mkgmtime64(time); __time64_t ret = MSVCRT__mkgmtime64(time);
return ret == (__time32_t)ret ? ret : -1; return ret == (__time32_t)ret ? ret : -1;
...@@ -362,12 +362,12 @@ __time32_t CDECL MSVCRT__mkgmtime32(struct MSVCRT_tm *time) ...@@ -362,12 +362,12 @@ __time32_t CDECL MSVCRT__mkgmtime32(struct MSVCRT_tm *time)
* _mkgmtime (MSVCRT.@) * _mkgmtime (MSVCRT.@)
*/ */
#ifdef _WIN64 #ifdef _WIN64
__time64_t CDECL MSVCRT__mkgmtime(struct MSVCRT_tm *time) __time64_t CDECL MSVCRT__mkgmtime(struct tm *time)
{ {
return MSVCRT__mkgmtime64(time); return MSVCRT__mkgmtime64(time);
} }
#else #else
__time32_t CDECL MSVCRT__mkgmtime(struct MSVCRT_tm *time) __time32_t CDECL MSVCRT__mkgmtime(struct tm *time)
{ {
return MSVCRT__mkgmtime32(time); return MSVCRT__mkgmtime32(time);
} }
...@@ -376,7 +376,7 @@ __time32_t CDECL MSVCRT__mkgmtime(struct MSVCRT_tm *time) ...@@ -376,7 +376,7 @@ __time32_t CDECL MSVCRT__mkgmtime(struct MSVCRT_tm *time)
/********************************************************************* /*********************************************************************
* _localtime64_s (MSVCRT.@) * _localtime64_s (MSVCRT.@)
*/ */
int CDECL _localtime64_s(struct MSVCRT_tm *res, const __time64_t *secs) int CDECL _localtime64_s(struct tm *res, const __time64_t *secs)
{ {
int i; int i;
FILETIME ft; FILETIME ft;
...@@ -424,12 +424,12 @@ int CDECL _localtime64_s(struct MSVCRT_tm *res, const __time64_t *secs) ...@@ -424,12 +424,12 @@ int CDECL _localtime64_s(struct MSVCRT_tm *res, const __time64_t *secs)
/********************************************************************* /*********************************************************************
* _localtime64 (MSVCRT.@) * _localtime64 (MSVCRT.@)
*/ */
struct MSVCRT_tm* CDECL MSVCRT__localtime64(const __time64_t* secs) struct tm* CDECL MSVCRT__localtime64(const __time64_t* secs)
{ {
thread_data_t *data = msvcrt_get_thread_data(); thread_data_t *data = msvcrt_get_thread_data();
if(!data->time_buffer) if(!data->time_buffer)
data->time_buffer = MSVCRT_malloc(sizeof(struct MSVCRT_tm)); data->time_buffer = MSVCRT_malloc(sizeof(struct tm));
if(_localtime64_s(data->time_buffer, secs)) if(_localtime64_s(data->time_buffer, secs))
return NULL; return NULL;
...@@ -439,7 +439,7 @@ struct MSVCRT_tm* CDECL MSVCRT__localtime64(const __time64_t* secs) ...@@ -439,7 +439,7 @@ struct MSVCRT_tm* CDECL MSVCRT__localtime64(const __time64_t* secs)
/********************************************************************* /*********************************************************************
* _localtime32 (MSVCRT.@) * _localtime32 (MSVCRT.@)
*/ */
struct MSVCRT_tm* CDECL MSVCRT__localtime32(const __time32_t* secs) struct tm* CDECL MSVCRT__localtime32(const __time32_t* secs)
{ {
__time64_t secs64; __time64_t secs64;
...@@ -453,7 +453,7 @@ struct MSVCRT_tm* CDECL MSVCRT__localtime32(const __time32_t* secs) ...@@ -453,7 +453,7 @@ struct MSVCRT_tm* CDECL MSVCRT__localtime32(const __time32_t* secs)
/********************************************************************* /*********************************************************************
* _localtime32_s (MSVCRT.@) * _localtime32_s (MSVCRT.@)
*/ */
int CDECL _localtime32_s(struct MSVCRT_tm *time, const __time32_t *secs) int CDECL _localtime32_s(struct tm *time, const __time32_t *secs)
{ {
__time64_t secs64; __time64_t secs64;
...@@ -474,12 +474,12 @@ int CDECL _localtime32_s(struct MSVCRT_tm *time, const __time32_t *secs) ...@@ -474,12 +474,12 @@ int CDECL _localtime32_s(struct MSVCRT_tm *time, const __time32_t *secs)
* localtime (MSVCRT.@) * localtime (MSVCRT.@)
*/ */
#ifdef _WIN64 #ifdef _WIN64
struct MSVCRT_tm* CDECL MSVCRT_localtime(const __time64_t* secs) struct tm* CDECL MSVCRT_localtime(const __time64_t* secs)
{ {
return MSVCRT__localtime64( secs ); return MSVCRT__localtime64( secs );
} }
#else #else
struct MSVCRT_tm* CDECL MSVCRT_localtime(const __time32_t* secs) struct tm* CDECL MSVCRT_localtime(const __time32_t* secs)
{ {
return MSVCRT__localtime32( secs ); return MSVCRT__localtime32( secs );
} }
...@@ -488,7 +488,7 @@ struct MSVCRT_tm* CDECL MSVCRT_localtime(const __time32_t* secs) ...@@ -488,7 +488,7 @@ struct MSVCRT_tm* CDECL MSVCRT_localtime(const __time32_t* secs)
/********************************************************************* /*********************************************************************
* _gmtime64 (MSVCRT.@) * _gmtime64 (MSVCRT.@)
*/ */
int CDECL MSVCRT__gmtime64_s(struct MSVCRT_tm *res, const __time64_t *secs) int CDECL MSVCRT__gmtime64_s(struct tm *res, const __time64_t *secs)
{ {
int i; int i;
FILETIME ft; FILETIME ft;
...@@ -531,12 +531,12 @@ int CDECL MSVCRT__gmtime64_s(struct MSVCRT_tm *res, const __time64_t *secs) ...@@ -531,12 +531,12 @@ int CDECL MSVCRT__gmtime64_s(struct MSVCRT_tm *res, const __time64_t *secs)
/********************************************************************* /*********************************************************************
* _gmtime64 (MSVCRT.@) * _gmtime64 (MSVCRT.@)
*/ */
struct MSVCRT_tm* CDECL MSVCRT__gmtime64(const __time64_t *secs) struct tm* CDECL MSVCRT__gmtime64(const __time64_t *secs)
{ {
thread_data_t * const data = msvcrt_get_thread_data(); thread_data_t * const data = msvcrt_get_thread_data();
if(!data->time_buffer) if(!data->time_buffer)
data->time_buffer = MSVCRT_malloc(sizeof(struct MSVCRT_tm)); data->time_buffer = MSVCRT_malloc(sizeof(struct tm));
if(MSVCRT__gmtime64_s(data->time_buffer, secs)) if(MSVCRT__gmtime64_s(data->time_buffer, secs))
return NULL; return NULL;
...@@ -546,7 +546,7 @@ struct MSVCRT_tm* CDECL MSVCRT__gmtime64(const __time64_t *secs) ...@@ -546,7 +546,7 @@ struct MSVCRT_tm* CDECL MSVCRT__gmtime64(const __time64_t *secs)
/********************************************************************* /*********************************************************************
* _gmtime32_s (MSVCRT.@) * _gmtime32_s (MSVCRT.@)
*/ */
int CDECL MSVCRT__gmtime32_s(struct MSVCRT_tm *res, const __time32_t *secs) int CDECL MSVCRT__gmtime32_s(struct tm *res, const __time32_t *secs)
{ {
__time64_t secs64; __time64_t secs64;
...@@ -560,7 +560,7 @@ int CDECL MSVCRT__gmtime32_s(struct MSVCRT_tm *res, const __time32_t *secs) ...@@ -560,7 +560,7 @@ int CDECL MSVCRT__gmtime32_s(struct MSVCRT_tm *res, const __time32_t *secs)
/********************************************************************* /*********************************************************************
* _gmtime32 (MSVCRT.@) * _gmtime32 (MSVCRT.@)
*/ */
struct MSVCRT_tm* CDECL MSVCRT__gmtime32(const __time32_t* secs) struct tm* CDECL MSVCRT__gmtime32(const __time32_t* secs)
{ {
__time64_t secs64; __time64_t secs64;
...@@ -575,12 +575,12 @@ struct MSVCRT_tm* CDECL MSVCRT__gmtime32(const __time32_t* secs) ...@@ -575,12 +575,12 @@ struct MSVCRT_tm* CDECL MSVCRT__gmtime32(const __time32_t* secs)
* gmtime (MSVCRT.@) * gmtime (MSVCRT.@)
*/ */
#ifdef _WIN64 #ifdef _WIN64
struct MSVCRT_tm* CDECL MSVCRT_gmtime(const __time64_t* secs) struct tm* CDECL MSVCRT_gmtime(const __time64_t* secs)
{ {
return MSVCRT__gmtime64( secs ); return MSVCRT__gmtime64( secs );
} }
#else #else
struct MSVCRT_tm* CDECL MSVCRT_gmtime(const __time32_t* secs) struct tm* CDECL MSVCRT_gmtime(const __time32_t* secs)
{ {
return MSVCRT__gmtime32( secs ); return MSVCRT__gmtime32( secs );
} }
...@@ -1001,7 +1001,7 @@ static inline BOOL strftime_int(STRFTIME_CHAR *str, size_t *pos, size_t max, ...@@ -1001,7 +1001,7 @@ static inline BOOL strftime_int(STRFTIME_CHAR *str, size_t *pos, size_t max,
} }
static inline BOOL strftime_format(STRFTIME_CHAR *str, size_t *pos, size_t max, static inline BOOL strftime_format(STRFTIME_CHAR *str, size_t *pos, size_t max,
const struct MSVCRT_tm *mstm, __lc_time_data *time_data, const STRFTIME_CHAR *format) const struct tm *mstm, __lc_time_data *time_data, const STRFTIME_CHAR *format)
{ {
size_t count; size_t count;
BOOL ret = TRUE; BOOL ret = TRUE;
...@@ -1176,7 +1176,7 @@ static inline BOOL strftime_tzdiff(STRFTIME_CHAR *str, size_t *pos, size_t max, ...@@ -1176,7 +1176,7 @@ static inline BOOL strftime_tzdiff(STRFTIME_CHAR *str, size_t *pos, size_t max,
#endif #endif
static size_t strftime_impl(STRFTIME_CHAR *str, size_t max, static size_t strftime_impl(STRFTIME_CHAR *str, size_t max,
const STRFTIME_CHAR *format, const struct MSVCRT_tm *mstm, const STRFTIME_CHAR *format, const struct tm *mstm,
__lc_time_data *time_data, _locale_t loc) __lc_time_data *time_data, _locale_t loc)
{ {
size_t ret, tmp; size_t ret, tmp;
...@@ -1526,7 +1526,7 @@ einval_error: ...@@ -1526,7 +1526,7 @@ einval_error:
} }
static size_t strftime_helper(char *str, size_t max, const char *format, static size_t strftime_helper(char *str, size_t max, const char *format,
const struct MSVCRT_tm *mstm, __lc_time_data *time_data, _locale_t loc) const struct tm *mstm, __lc_time_data *time_data, _locale_t loc)
{ {
#if _MSVCR_VER <= 90 #if _MSVCR_VER <= 90
TRACE("(%p %Iu %s %p %p %p)\n", str, max, format, mstm, time_data, loc); TRACE("(%p %Iu %s %p %p %p)\n", str, max, format, mstm, time_data, loc);
...@@ -1565,7 +1565,7 @@ static size_t strftime_helper(char *str, size_t max, const char *format, ...@@ -1565,7 +1565,7 @@ static size_t strftime_helper(char *str, size_t max, const char *format,
* _strftime_l (MSVCR80.@) * _strftime_l (MSVCR80.@)
*/ */
size_t CDECL MSVCRT__strftime_l( char *str, size_t max, const char *format, size_t CDECL MSVCRT__strftime_l( char *str, size_t max, const char *format,
const struct MSVCRT_tm *mstm, _locale_t loc ) const struct tm *mstm, _locale_t loc )
{ {
return strftime_helper(str, max, format, mstm, NULL, loc); return strftime_helper(str, max, format, mstm, NULL, loc);
} }
...@@ -1575,7 +1575,7 @@ size_t CDECL MSVCRT__strftime_l( char *str, size_t max, const char *format, ...@@ -1575,7 +1575,7 @@ size_t CDECL MSVCRT__strftime_l( char *str, size_t max, const char *format,
* _Strftime (MSVCRT.@) * _Strftime (MSVCRT.@)
*/ */
size_t CDECL _Strftime(char *str, size_t max, const char *format, size_t CDECL _Strftime(char *str, size_t max, const char *format,
const struct MSVCRT_tm *mstm, __lc_time_data *time_data) const struct tm *mstm, __lc_time_data *time_data)
{ {
return strftime_helper(str, max, format, mstm, time_data, NULL); return strftime_helper(str, max, format, mstm, time_data, NULL);
} }
...@@ -1584,13 +1584,13 @@ size_t CDECL _Strftime(char *str, size_t max, const char *format, ...@@ -1584,13 +1584,13 @@ size_t CDECL _Strftime(char *str, size_t max, const char *format,
* strftime (MSVCRT.@) * strftime (MSVCRT.@)
*/ */
size_t CDECL MSVCRT_strftime( char *str, size_t max, const char *format, size_t CDECL MSVCRT_strftime( char *str, size_t max, const char *format,
const struct MSVCRT_tm *mstm ) const struct tm *mstm )
{ {
return strftime_helper(str, max, format, mstm, NULL, NULL); return strftime_helper(str, max, format, mstm, NULL, NULL);
} }
static size_t wcsftime_helper( wchar_t *str, size_t max, static size_t wcsftime_helper( wchar_t *str, size_t max,
const wchar_t *format, const struct MSVCRT_tm *mstm, const wchar_t *format, const struct tm *mstm,
__lc_time_data *time_data, _locale_t loc ) __lc_time_data *time_data, _locale_t loc )
{ {
#if _MSVCR_VER <= 90 #if _MSVCR_VER <= 90
...@@ -1623,7 +1623,7 @@ static size_t wcsftime_helper( wchar_t *str, size_t max, ...@@ -1623,7 +1623,7 @@ static size_t wcsftime_helper( wchar_t *str, size_t max,
* _wcsftime_l (MSVCRT.@) * _wcsftime_l (MSVCRT.@)
*/ */
size_t CDECL MSVCRT__wcsftime_l( wchar_t *str, size_t max, size_t CDECL MSVCRT__wcsftime_l( wchar_t *str, size_t max,
const wchar_t *format, const struct MSVCRT_tm *mstm, _locale_t loc ) const wchar_t *format, const struct tm *mstm, _locale_t loc )
{ {
return wcsftime_helper(str, max, format, mstm, NULL, loc); return wcsftime_helper(str, max, format, mstm, NULL, loc);
} }
...@@ -1632,7 +1632,7 @@ size_t CDECL MSVCRT__wcsftime_l( wchar_t *str, size_t max, ...@@ -1632,7 +1632,7 @@ size_t CDECL MSVCRT__wcsftime_l( wchar_t *str, size_t max,
* wcsftime (MSVCRT.@) * wcsftime (MSVCRT.@)
*/ */
size_t CDECL MSVCRT_wcsftime( wchar_t *str, size_t max, size_t CDECL MSVCRT_wcsftime( wchar_t *str, size_t max,
const wchar_t *format, const struct MSVCRT_tm *mstm ) const wchar_t *format, const struct tm *mstm )
{ {
return wcsftime_helper(str, max, format, mstm, NULL, NULL); return wcsftime_helper(str, max, format, mstm, NULL, NULL);
} }
...@@ -1642,14 +1642,14 @@ size_t CDECL MSVCRT_wcsftime( wchar_t *str, size_t max, ...@@ -1642,14 +1642,14 @@ size_t CDECL MSVCRT_wcsftime( wchar_t *str, size_t max,
* _Wcsftime (MSVCR110.@) * _Wcsftime (MSVCR110.@)
*/ */
size_t CDECL _Wcsftime(wchar_t *str, size_t max, size_t CDECL _Wcsftime(wchar_t *str, size_t max,
const wchar_t *format, const struct MSVCRT_tm *mstm, const wchar_t *format, const struct tm *mstm,
__lc_time_data *time_data) __lc_time_data *time_data)
{ {
return wcsftime_helper(str, max, format, mstm, time_data, NULL); return wcsftime_helper(str, max, format, mstm, time_data, NULL);
} }
#endif #endif
static char* asctime_buf(char *buf, const struct MSVCRT_tm *mstm) static char* asctime_buf(char *buf, const struct tm *mstm)
{ {
static const char wday[7][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; static const char wday[7][4] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"};
static const char month[12][4] = {"Jan", "Feb", "Mar", "Apr", "May", static const char month[12][4] = {"Jan", "Feb", "Mar", "Apr", "May",
...@@ -1682,7 +1682,7 @@ static char* asctime_buf(char *buf, const struct MSVCRT_tm *mstm) ...@@ -1682,7 +1682,7 @@ static char* asctime_buf(char *buf, const struct MSVCRT_tm *mstm)
/********************************************************************* /*********************************************************************
* asctime (MSVCRT.@) * asctime (MSVCRT.@)
*/ */
char * CDECL MSVCRT_asctime(const struct MSVCRT_tm *mstm) char * CDECL MSVCRT_asctime(const struct tm *mstm)
{ {
thread_data_t *data = msvcrt_get_thread_data(); thread_data_t *data = msvcrt_get_thread_data();
...@@ -1701,7 +1701,7 @@ char * CDECL MSVCRT_asctime(const struct MSVCRT_tm *mstm) ...@@ -1701,7 +1701,7 @@ char * CDECL MSVCRT_asctime(const struct MSVCRT_tm *mstm)
/********************************************************************* /*********************************************************************
* asctime_s (MSVCRT.@) * asctime_s (MSVCRT.@)
*/ */
int CDECL MSVCRT_asctime_s(char* time, size_t size, const struct MSVCRT_tm *mstm) int CDECL MSVCRT_asctime_s(char* time, size_t size, const struct tm *mstm)
{ {
if (!MSVCRT_CHECK_PMT(time != NULL)) return MSVCRT_EINVAL; if (!MSVCRT_CHECK_PMT(time != NULL)) return MSVCRT_EINVAL;
if (size) time[0] = 0; if (size) time[0] = 0;
...@@ -1723,7 +1723,7 @@ int CDECL MSVCRT_asctime_s(char* time, size_t size, const struct MSVCRT_tm *mstm ...@@ -1723,7 +1723,7 @@ int CDECL MSVCRT_asctime_s(char* time, size_t size, const struct MSVCRT_tm *mstm
/********************************************************************* /*********************************************************************
* _wasctime (MSVCRT.@) * _wasctime (MSVCRT.@)
*/ */
wchar_t * CDECL MSVCRT__wasctime(const struct MSVCRT_tm *mstm) wchar_t * CDECL MSVCRT__wasctime(const struct tm *mstm)
{ {
thread_data_t *data = msvcrt_get_thread_data(); thread_data_t *data = msvcrt_get_thread_data();
char buffer[26]; char buffer[26];
...@@ -1746,7 +1746,7 @@ wchar_t * CDECL MSVCRT__wasctime(const struct MSVCRT_tm *mstm) ...@@ -1746,7 +1746,7 @@ wchar_t * CDECL MSVCRT__wasctime(const struct MSVCRT_tm *mstm)
/********************************************************************* /*********************************************************************
* _wasctime_s (MSVCRT.@) * _wasctime_s (MSVCRT.@)
*/ */
int CDECL MSVCRT__wasctime_s(wchar_t* time, size_t size, const struct MSVCRT_tm *mstm) int CDECL MSVCRT__wasctime_s(wchar_t* time, size_t size, const struct tm *mstm)
{ {
char buffer[26]; char buffer[26];
int ret; int ret;
...@@ -1768,7 +1768,7 @@ int CDECL MSVCRT__wasctime_s(wchar_t* time, size_t size, const struct MSVCRT_tm ...@@ -1768,7 +1768,7 @@ int CDECL MSVCRT__wasctime_s(wchar_t* time, size_t size, const struct MSVCRT_tm
*/ */
char * CDECL MSVCRT__ctime64(const __time64_t *time) char * CDECL MSVCRT__ctime64(const __time64_t *time)
{ {
struct MSVCRT_tm *t; struct tm *t;
t = MSVCRT__localtime64( time ); t = MSVCRT__localtime64( time );
if (!t) return NULL; if (!t) return NULL;
return MSVCRT_asctime( t ); return MSVCRT_asctime( t );
...@@ -1779,7 +1779,7 @@ char * CDECL MSVCRT__ctime64(const __time64_t *time) ...@@ -1779,7 +1779,7 @@ char * CDECL MSVCRT__ctime64(const __time64_t *time)
*/ */
int CDECL MSVCRT__ctime64_s(char *res, size_t len, const __time64_t *time) int CDECL MSVCRT__ctime64_s(char *res, size_t len, const __time64_t *time)
{ {
struct MSVCRT_tm *t; struct tm *t;
if (!MSVCRT_CHECK_PMT( res != NULL )) return MSVCRT_EINVAL; if (!MSVCRT_CHECK_PMT( res != NULL )) return MSVCRT_EINVAL;
if (!MSVCRT_CHECK_PMT( len >= 26 )) return MSVCRT_EINVAL; if (!MSVCRT_CHECK_PMT( len >= 26 )) return MSVCRT_EINVAL;
...@@ -1797,7 +1797,7 @@ int CDECL MSVCRT__ctime64_s(char *res, size_t len, const __time64_t *time) ...@@ -1797,7 +1797,7 @@ int CDECL MSVCRT__ctime64_s(char *res, size_t len, const __time64_t *time)
*/ */
char * CDECL MSVCRT__ctime32(const __time32_t *time) char * CDECL MSVCRT__ctime32(const __time32_t *time)
{ {
struct MSVCRT_tm *t; struct tm *t;
t = MSVCRT__localtime32( time ); t = MSVCRT__localtime32( time );
if (!t) return NULL; if (!t) return NULL;
return MSVCRT_asctime( t ); return MSVCRT_asctime( t );
...@@ -1808,7 +1808,7 @@ char * CDECL MSVCRT__ctime32(const __time32_t *time) ...@@ -1808,7 +1808,7 @@ char * CDECL MSVCRT__ctime32(const __time32_t *time)
*/ */
int CDECL MSVCRT__ctime32_s(char *res, size_t len, const __time32_t *time) int CDECL MSVCRT__ctime32_s(char *res, size_t len, const __time32_t *time)
{ {
struct MSVCRT_tm *t; struct tm *t;
if (!MSVCRT_CHECK_PMT( res != NULL )) return MSVCRT_EINVAL; if (!MSVCRT_CHECK_PMT( res != NULL )) return MSVCRT_EINVAL;
if (!MSVCRT_CHECK_PMT( len >= 26 )) return MSVCRT_EINVAL; if (!MSVCRT_CHECK_PMT( len >= 26 )) return MSVCRT_EINVAL;
...@@ -1873,7 +1873,7 @@ wchar_t * CDECL MSVCRT__wctime(const __time32_t *time) ...@@ -1873,7 +1873,7 @@ wchar_t * CDECL MSVCRT__wctime(const __time32_t *time)
int CDECL MSVCRT__wctime64_s(wchar_t *buf, int CDECL MSVCRT__wctime64_s(wchar_t *buf,
size_t size, const __time64_t *time) size_t size, const __time64_t *time)
{ {
struct MSVCRT_tm tm; struct tm tm;
int ret; int ret;
if(!MSVCRT_CHECK_PMT(buf != NULL)) return MSVCRT_EINVAL; if(!MSVCRT_CHECK_PMT(buf != NULL)) return MSVCRT_EINVAL;
...@@ -1896,7 +1896,7 @@ int CDECL MSVCRT__wctime64_s(wchar_t *buf, ...@@ -1896,7 +1896,7 @@ int CDECL MSVCRT__wctime64_s(wchar_t *buf,
int CDECL MSVCRT__wctime32_s(wchar_t *buf, size_t size, int CDECL MSVCRT__wctime32_s(wchar_t *buf, size_t size,
const __time32_t *time) const __time32_t *time)
{ {
struct MSVCRT_tm tm; struct tm tm;
int ret; int ret;
if(!MSVCRT_CHECK_PMT(buf != NULL)) return MSVCRT_EINVAL; if(!MSVCRT_CHECK_PMT(buf != NULL)) return MSVCRT_EINVAL;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment