@@ -478,7 +478,11 @@ int fpnum_double(struct fpnum *fp, double *d)
478478
479479#define LDBL_EXP_BITS 15
480480#define LDBL_MANT_BITS 64
481+ #ifdef __REACTOS__
482+ int fpnum_ldouble (struct fpnum * fp , WINE_BROKEN_LDOUBLE * d )
483+ #else
481484int fpnum_ldouble (struct fpnum * fp , MSVCRT__LDOUBLE * d )
485+ #endif
482486{
483487 if (fp -> mod == FP_VAL_INFINITY )
484488 {
@@ -1513,9 +1517,16 @@ size_t CDECL strxfrm( char *dest, const char *src, size_t len )
15131517/********************************************************************
15141518 * __STRINGTOLD_L (MSVCR80.@)
15151519 */
1520+ #ifdef __REACTOS__
1521+ int CDECL __STRINGTOLD_L ( MSVCRT__LDOUBLE * value_ , char * * endptr ,
1522+ #else
15161523int CDECL __STRINGTOLD_L ( MSVCRT__LDOUBLE * value , char * * endptr ,
1524+ #endif
15171525 const char * str , int flags , _locale_t locale )
15181526{
1527+ #ifdef __REACTOS__
1528+ WINE_BROKEN_LDOUBLE value [1 ];
1529+ #endif
15191530 pthreadlocinfo locinfo ;
15201531 const char * beg , * p ;
15211532 int err , ret = 0 ;
@@ -1539,6 +1550,9 @@ int CDECL __STRINGTOLD_L( MSVCRT__LDOUBLE *value, char **endptr,
15391550
15401551 err = fpnum_ldouble (& fp , value );
15411552 if (err ) ret = (value -> x80 [2 ] & 0x7fff ? 2 : 1 );
1553+ #ifdef __REACTOS__
1554+ memcpy (value_ , value , sizeof (* value_ ));
1555+ #endif
15421556 return ret ;
15431557}
15441558
@@ -2670,8 +2684,16 @@ struct _I10_OUTPUT_DATA {
26702684 * Native sets last byte of data->str to '0' or '9', I don't know what
26712685 * it means. Current implementation sets it always to '0'.
26722686 */
2687+ #ifdef __REACTOS__
2688+ int CDECL I10_OUTPUT (MSVCRT__LDOUBLE ld80_ , int prec , int flag , struct _I10_OUTPUT_DATA * data )
2689+ #else
26732690int CDECL I10_OUTPUT (MSVCRT__LDOUBLE ld80 , int prec , int flag , struct _I10_OUTPUT_DATA * data )
2691+ #endif
26742692{
2693+ #ifdef __REACTOS__
2694+ WINE_BROKEN_LDOUBLE ld80 = { 0 };
2695+ memcpy (& ld80 , & ld80_ , sizeof (ld80_ ));
2696+ #endif
26752697 struct fpnum num ;
26762698 double d ;
26772699 char format [8 ];
0 commit comments