diff --git a/dlls/msvcrt/msvcrt.h b/dlls/msvcrt/msvcrt.h index cf3c53180e2..587d9e8c51d 100644 --- a/dlls/msvcrt/msvcrt.h +++ b/dlls/msvcrt/msvcrt.h @@ -71,7 +71,7 @@ typedef void (*MSVCRT__beginthread_start_routine_t)(void *); typedef unsigned int (__stdcall *MSVCRT__beginthreadex_start_routine_t)(void *); typedef int (*MSVCRT__onexit_t)(void); -typedef struct {long double x;} _LDOUBLE; +typedef struct {long double x;} MSVCRT__LDOUBLE; struct MSVCRT_tm { int tm_sec; diff --git a/dlls/msvcrt/string.c b/dlls/msvcrt/string.c index d1973a34d84..ffacc35a1ae 100644 --- a/dlls/msvcrt/string.c +++ b/dlls/msvcrt/string.c @@ -174,7 +174,7 @@ int CDECL MSVCRT__stricoll( const char* str1, const char* str2 ) /******************************************************************** * _atoldbl (MSVCRT.@) */ -int CDECL MSVCRT__atoldbl(_LDOUBLE * value, char * str) +int CDECL MSVCRT__atoldbl(MSVCRT__LDOUBLE * value, char * str) { /* FIXME needs error checking for huge/small values */ #ifdef HAVE_STRTOLD diff --git a/include/msvcrt/stdlib.h b/include/msvcrt/stdlib.h index 269f2799bad..ddaae617f50 100644 --- a/include/msvcrt/stdlib.h +++ b/include/msvcrt/stdlib.h @@ -28,6 +28,22 @@ typedef unsigned short wchar_t; #endif #endif + +typedef struct +{ + float f; +} _CRT_FLOAT; + +typedef struct +{ + double x; +} _CRT_DOUBLE; + +typedef struct +{ + unsigned char ld[10]; +} _LDOUBLE; + #if defined(__x86_64__) && !defined(_WIN64) #define _WIN64 #endif @@ -128,8 +144,11 @@ extern int* _errno(void); typedef int (*_onexit_t)(void); +int _atodbl(_CRT_DOUBLE*,char*); +int _atoflt(_CRT_FLOAT*,char*); __int64 _atoi64(const char*); long double _atold(const char*); +int _atoldbl(_LDOUBLE*,char*); void _beep(unsigned int,unsigned int); char* _ecvt(double,int,int*,int*); char* _fcvt(double,int,int*,int*);