#include #include #include #include #include static errno_t __cdecl _int_gmtime32_s (struct tm *, const __time32_t *); static errno_t __cdecl _stub (struct tm *, const __time32_t *); errno_t __cdecl (*__MINGW_IMP_SYMBOL(_gmtime32_s))(struct tm *, const __time32_t *) = _stub; static errno_t __cdecl _stub (struct tm *ptm, const __time32_t *pt) { errno_t __cdecl (*f)(struct tm *, const __time32_t *) = __MINGW_IMP_SYMBOL(_gmtime32_s); if (f == _stub) { f = (errno_t __cdecl (*)(struct tm *, const __time32_t *)) GetProcAddress (__mingw_get_msvcrt_handle (), "_gmtime32_s"); if (!f) f = _int_gmtime32_s; __MINGW_IMP_SYMBOL(_gmtime32_s) = f; } return (*f)(ptm, pt); } errno_t __cdecl _gmtime32_s (struct tm *ptm, const __time32_t *pt) { return _stub (ptm, pt); } static errno_t __cdecl _int_gmtime32_s (struct tm *ptm, const __time32_t *pt) { struct tm *ltm; if (ptm) memset (ptm, 0xff, sizeof (*ptm)); if (!ptm || !pt) { errno = EINVAL; return EINVAL; } if ((ltm = _gmtime32 (pt)) == NULL) return errno; *ptm = *ltm; return 0; }