diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 1570fd488e6..1eca0923117 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -392,7 +392,7 @@ @ cdecl __crtCompareStringW(long long wstr long wstr long) msvcrt.__crtCompareStringW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW -@ stub __daylight +@ cdecl __daylight() msvcrt.__daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @ stub __dstbias diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 65f9510f3b6..e7b26e78133 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -205,7 +205,7 @@ @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW -@ stub __daylight +@ cdecl __daylight() msvcrt.__daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @ stub __dstbias diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index badfe65bcd8..9ba5bbca04d 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -202,7 +202,7 @@ @ cdecl __crtGetStringTypeW(long long wstr long ptr) msvcrt.__crtGetStringTypeW @ cdecl __crtLCMapStringA(long long str long ptr long long long) msvcrt.__crtLCMapStringA @ cdecl __crtLCMapStringW(long long wstr long ptr long long long) msvcrt.__crtLCMapStringW -@ stub __daylight +@ cdecl __daylight() msvcrt.__daylight @ cdecl __dllonexit(ptr ptr ptr) msvcrt.__dllonexit @ cdecl __doserrno() msvcrt.__doserrno @ stub __dstbias diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec index 5d07736569a..440eeb846a7 100644 --- a/dlls/msvcrt/msvcrt.spec +++ b/dlls/msvcrt/msvcrt.spec @@ -179,7 +179,7 @@ @ cdecl __crtGetStringTypeW(long long wstr long ptr) @ cdecl __crtLCMapStringA(long long str long ptr long long long) @ cdecl __crtLCMapStringW(long long wstr long ptr long long long) -# stub __daylight +@ cdecl __daylight() MSVCRT___p__daylight @ cdecl __dllonexit(ptr ptr ptr) @ cdecl __doserrno() MSVCRT___doserrno # stub __dstbias diff --git a/dlls/msvcrt/tests/time.c b/dlls/msvcrt/tests/time.c index a56f53c196f..950042c2899 100644 --- a/dlls/msvcrt/tests/time.c +++ b/dlls/msvcrt/tests/time.c @@ -42,6 +42,8 @@ static errno_t (__cdecl *p_strtime_s)(char*,size_t); static errno_t (__cdecl *p_strdate_s)(char*,size_t); static errno_t (__cdecl *p_localtime32_s)(struct tm*, __time32_t*); static errno_t (__cdecl *p_localtime64_s)(struct tm*, __time64_t*); +static int* (__cdecl *p__daylight)(void); +static int* (__cdecl *p___p__daylight)(void); static void init(void) { @@ -54,6 +56,8 @@ static void init(void) p_strdate_s = (void*)GetProcAddress(hmod, "_strdate_s"); p_localtime32_s = (void*)GetProcAddress(hmod, "_localtime32_s"); p_localtime64_s = (void*)GetProcAddress(hmod, "_localtime64_s"); + p__daylight = (void*)GetProcAddress(hmod, "__daylight"); + p___p__daylight = (void*)GetProcAddress(hmod, "__p__daylight"); } static int get_test_year(time_t *start) @@ -543,6 +547,27 @@ static void test_localtime64_s(void) tm.tm_isdst); } +static void test_daylight(void) +{ + int *ret1, *ret2; + + if (!p__daylight) + { + win_skip("__daylight() not available\n"); + return; + } + + if (!p___p__daylight) + { + win_skip("__p__daylight not available\n"); + return; + } + + ret1 = p__daylight(); + ret2 = p___p__daylight(); + ok(ret1 && ret1 == ret2, "got %p\n", ret1); +} + START_TEST(time) { init(); @@ -557,4 +582,5 @@ START_TEST(time) test_wstrtime(); test_localtime32_s(); test_localtime64_s(); + test_daylight(); }