Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
a3035679
Commit
a3035679
authored
Nov 06, 2012
by
Piotr Caban
Committed by
Alexandre Julliard
Nov 06, 2012
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Improved _atoflt_l precision.
parent
ffd5e3eb
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
3 deletions
+4
-3
msvcrt.h
dlls/msvcrt/msvcrt.h
+1
-0
string.c
dlls/msvcrt/string.c
+3
-3
No files found.
dlls/msvcrt/msvcrt.h
View file @
a3035679
...
@@ -983,6 +983,7 @@ int pf_printf_w(puts_clbk_w, void*, const MSVCRT_wchar_t*, MSVCRT__locale_t,
...
@@ -983,6 +983,7 @@ int pf_printf_w(puts_clbk_w, void*, const MSVCRT_wchar_t*, MSVCRT__locale_t,
BOOL
,
BOOL
,
args_clbk
,
void
*
,
__ms_va_list
*
)
DECLSPEC_HIDDEN
;
BOOL
,
BOOL
,
args_clbk
,
void
*
,
__ms_va_list
*
)
DECLSPEC_HIDDEN
;
printf_arg
arg_clbk_valist
(
void
*
,
int
,
int
,
__ms_va_list
*
)
DECLSPEC_HIDDEN
;
printf_arg
arg_clbk_valist
(
void
*
,
int
,
int
,
__ms_va_list
*
)
DECLSPEC_HIDDEN
;
#define MSVCRT_FLT_MIN 1.175494351e-38F
#define MSVCRT__OVERFLOW 3
#define MSVCRT__OVERFLOW 3
#define MSVCRT__UNDERFLOW 4
#define MSVCRT__UNDERFLOW 4
...
...
dlls/msvcrt/string.c
View file @
a3035679
...
@@ -514,13 +514,13 @@ int CDECL MSVCRT__atoflt_l( MSVCRT__CRT_FLOAT *value, char *str, MSVCRT__locale_
...
@@ -514,13 +514,13 @@ int CDECL MSVCRT__atoflt_l( MSVCRT__CRT_FLOAT *value, char *str, MSVCRT__locale_
|
MSVCRT__EM_OVERFLOW
|
MSVCRT__EM_UNDERFLOW
|
MSVCRT__EM_INEXACT
,
0xffffffff
);
|
MSVCRT__EM_OVERFLOW
|
MSVCRT__EM_UNDERFLOW
|
MSVCRT__EM_INEXACT
,
0xffffffff
);
if
(
exp
>
0
)
if
(
exp
>
0
)
value
->
f
=
(
float
)
sign
*
d
*
powf
(
10
,
exp
);
value
->
f
=
(
double
)
sign
*
d
*
pow
(
10
,
exp
);
else
else
value
->
f
=
(
float
)
sign
*
d
/
powf
(
10
,
-
exp
);
value
->
f
=
(
double
)
sign
*
d
/
pow
(
10
,
-
exp
);
_control87
(
fpcontrol
,
0xffffffff
);
_control87
(
fpcontrol
,
0xffffffff
);
if
((
d
&&
value
->
f
==
0
.
0
)
||
isinf
(
value
->
f
))
if
((
d
&&
value
->
f
>-
MSVCRT_FLT_MIN
&&
value
->
f
<
MSVCRT_FLT_MIN
)
||
isinf
(
value
->
f
))
ret
=
exp
>
0
?
MSVCRT__OVERFLOW
:
MSVCRT__UNDERFLOW
;
ret
=
exp
>
0
?
MSVCRT__OVERFLOW
:
MSVCRT__UNDERFLOW
;
return
ret
;
return
ret
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment