diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 306bee5f50c..592a47c8d8f 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -2155,7 +2155,7 @@ @ cdecl fesetexceptflag(ptr long) @ cdecl fesetround(long) @ cdecl fetestexcept(long) -@ stub feupdateenv +@ cdecl feupdateenv(ptr) @ cdecl fflush(ptr) @ cdecl fgetc(ptr) @ cdecl fgetpos(ptr ptr) diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index b16d1a5b3f0..c716b426ba0 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1821,7 +1821,7 @@ @ cdecl fesetexceptflag(ptr long) msvcr120.fesetexceptflag @ cdecl fesetround(long) msvcr120.fesetround @ cdecl fetestexcept(long) msvcr120.fetestexcept -@ stub feupdateenv +@ cdecl feupdateenv(ptr) msvcr120.feupdateenv @ cdecl fflush(ptr) msvcr120.fflush @ cdecl fgetc(ptr) msvcr120.fgetc @ cdecl fgetpos(ptr ptr) msvcr120.fgetpos diff --git a/dlls/msvcrt/math.c b/dlls/msvcrt/math.c index 4281e460087..6f582b595cf 100644 --- a/dlls/msvcrt/math.c +++ b/dlls/msvcrt/math.c @@ -2226,6 +2226,16 @@ int CDECL fegetenv(fenv_t *env) return 0; } +/********************************************************************* + * feupdateenv (MSVCR120.@) + */ +int CDECL feupdateenv(const fenv_t *env) +{ + fenv_t set = *env; + set._Fe_stat |= _statusfp(); + return fesetenv(&set); +} + /********************************************************************* * fetestexcept (MSVCR120.@) */