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
4ee316a9
Commit
4ee316a9
authored
Feb 18, 2016
by
Piotr Caban
Committed by
Alexandre Julliard
Feb 19, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcr120: Add wcstof implementation.
Signed-off-by:
Piotr Caban
<
piotr@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
78716aeb
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
49 additions
and
8 deletions
+49
-8
api-ms-win-crt-convert-l1-1-0.spec
...win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec
+2
-2
msvcr120.spec
dlls/msvcr120/msvcr120.spec
+2
-2
msvcr120.c
dlls/msvcr120/tests/msvcr120.c
+25
-0
msvcr120_app.spec
dlls/msvcr120_app/msvcr120_app.spec
+2
-2
wcs.c
dlls/msvcrt/wcs.c
+16
-0
ucrtbase.spec
dlls/ucrtbase/ucrtbase.spec
+2
-2
No files found.
dlls/api-ms-win-crt-convert-l1-1-0/api-ms-win-crt-convert-l1-1-0.spec
View file @
4ee316a9
...
...
@@ -51,7 +51,7 @@
@ cdecl _ultow(long ptr long) ucrtbase._ultow
@ cdecl _ultow_s(long ptr long long) ucrtbase._ultow_s
@ cdecl _wcstod_l(wstr ptr) ucrtbase._wcstod_l
@
stub
_wcstof_l
@
cdecl _wcstof_l(wstr ptr ptr) ucrtbase.
_wcstof_l
@ cdecl -ret64 _wcstoi64(wstr ptr long) ucrtbase._wcstoi64
@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) ucrtbase._wcstoi64_l
@ stub _wcstoimax_l
...
...
@@ -106,7 +106,7 @@
@ cdecl wcsrtombs(ptr ptr long ptr) ucrtbase.wcsrtombs
@ cdecl wcsrtombs_s(ptr ptr long ptr long ptr) ucrtbase.wcsrtombs_s
@ cdecl wcstod(wstr ptr) ucrtbase.wcstod
@
stub
wcstof
@
cdecl wcstof(ptr ptr) ucrtbase.
wcstof
@ stub wcstoimax
@ cdecl wcstol(wstr ptr long) ucrtbase.wcstol
@ stub wcstold
...
...
dlls/msvcr120/msvcr120.spec
View file @
4ee316a9
...
...
@@ -1888,7 +1888,7 @@
@ cdecl _wcsset(wstr long) MSVCRT__wcsset
@ cdecl _wcsset_s(wstr long long) MSVCRT__wcsset_s
@ cdecl _wcstod_l(wstr ptr) MSVCRT__wcstod_l
@
stub
_wcstof_l
@
cdecl _wcstof_l(wstr ptr ptr) MSVCRT_
_wcstof_l
@ cdecl -ret64 _wcstoi64(wstr ptr long) MSVCRT__wcstoi64
@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) MSVCRT__wcstoi64_l
@ stub _wcstoimax_l
...
...
@@ -2470,7 +2470,7 @@
@ cdecl wcsspn(wstr wstr) ntdll.wcsspn
@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
@ cdecl wcstod(wstr ptr) MSVCRT_wcstod
@
stub
wcstof
@
cdecl wcstof(ptr ptr) MSVCRT_
wcstof
@ stub wcstoimax
@ cdecl wcstok(wstr wstr) MSVCRT_wcstok
@ cdecl wcstok_s(ptr wstr ptr) MSVCRT_wcstok_s
...
...
dlls/msvcr120/tests/msvcr120.c
View file @
4ee316a9
...
...
@@ -87,6 +87,7 @@ static void* (CDECL *p__W_Gettnames)(void);
static
void
(
CDECL
*
p_free
)(
void
*
);
static
float
(
CDECL
*
p_strtof
)(
const
char
*
,
char
**
);
static
int
(
CDECL
*
p__finite
)(
double
);
static
float
(
CDECL
*
p_wcstof
)(
const
wchar_t
*
,
wchar_t
**
);
static
BOOL
init
(
void
)
{
...
...
@@ -111,6 +112,7 @@ static BOOL init(void)
p_free
=
(
void
*
)
GetProcAddress
(
module
,
"free"
);
p_strtof
=
(
void
*
)
GetProcAddress
(
module
,
"strtof"
);
p__finite
=
(
void
*
)
GetProcAddress
(
module
,
"_finite"
);
p_wcstof
=
(
void
*
)
GetProcAddress
(
module
,
"wcstof"
);
return
TRUE
;
}
...
...
@@ -334,6 +336,9 @@ static void test__strtof(void)
const
char
float3
[]
=
"-3.402823466e+38"
;
const
char
float4
[]
=
"1.7976931348623158e+308"
;
/* DBL_MAX */
const
WCHAR
twelve
[]
=
{
'1'
,
'2'
,
'.'
,
'0'
,
0
};
const
WCHAR
arabic23
[]
=
{
0x662
,
0x663
,
0
};
char
*
end
;
float
f
;
...
...
@@ -367,11 +372,31 @@ static void test__strtof(void)
f
=
p_strtof
(
"0x12"
,
NULL
);
ok
(
f
==
0
,
"f = %lf
\n
"
,
f
);
f
=
p_wcstof
(
twelve
,
NULL
);
ok
(
f
==
12
.
0
,
"f = %lf
\n
"
,
f
);
f
=
p_wcstof
(
arabic23
,
NULL
);
ok
(
f
==
0
,
"f = %lf
\n
"
,
f
);
if
(
!
p_setlocale
(
LC_ALL
,
"Arabic"
))
{
win_skip
(
"Arabic locale not available
\n
"
);
return
;
}
f
=
p_wcstof
(
twelve
,
NULL
);
ok
(
f
==
12
.
0
,
"f = %lf
\n
"
,
f
);
f
=
p_wcstof
(
arabic23
,
NULL
);
ok
(
f
==
0
,
"f = %lf
\n
"
,
f
);
p_setlocale
(
LC_ALL
,
"C"
);
}
START_TEST
(
msvcr120
)
{
if
(
!
init
())
return
;
test__strtof
();
test_lconv
();
test__dsign
();
test__dpcomp
();
...
...
dlls/msvcr120_app/msvcr120_app.spec
View file @
4ee316a9
...
...
@@ -1581,7 +1581,7 @@
@ cdecl _wcsset(wstr long) msvcr120._wcsset
@ cdecl _wcsset_s(wstr long long) msvcr120._wcsset_s
@ cdecl _wcstod_l(wstr ptr) msvcr120._wcstod_l
@
stub
_wcstof_l
@
cdecl _wcstof_l(wstr ptr ptr) msvcr120.
_wcstof_l
@ cdecl -ret64 _wcstoi64(wstr ptr long) msvcr120._wcstoi64
@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) msvcr120._wcstoi64_l
@ stub _wcstoimax_l
...
...
@@ -2132,7 +2132,7 @@
@ cdecl wcsspn(wstr wstr) msvcr120.wcsspn
@ cdecl wcsstr(wstr wstr) msvcr120.wcsstr
@ cdecl wcstod(wstr ptr) msvcr120.wcstod
@
stub
wcstof
@
cdecl wcstof(ptr ptr) msvcr120.
wcstof
@ stub wcstoimax
@ cdecl wcstok(wstr wstr) msvcr120.wcstok
@ cdecl wcstok_s(ptr wstr ptr) msvcr120.wcstok_s
...
...
dlls/msvcrt/wcs.c
View file @
4ee316a9
...
...
@@ -647,6 +647,22 @@ double CDECL MSVCRT__wtof_l(const MSVCRT_wchar_t *str, MSVCRT__locale_t locale)
}
/*********************************************************************
* _wcstof_l (MSVCR120.@)
*/
float
CDECL
MSVCRT__wcstof_l
(
const
MSVCRT_wchar_t
*
str
,
MSVCRT_wchar_t
**
end
,
MSVCRT__locale_t
locale
)
{
return
MSVCRT__wcstod_l
(
str
,
end
,
locale
);
}
/*********************************************************************
* wcstof (MSVCR120.@)
*/
float
CDECL
MSVCRT_wcstof
(
const
MSVCRT_wchar_t
*
str
,
MSVCRT_wchar_t
**
end
)
{
return
MSVCRT__wcstof_l
(
str
,
end
,
NULL
);
}
/*********************************************************************
* arg_clbk_valist (INTERNAL)
*/
printf_arg
arg_clbk_valist
(
void
*
ctx
,
int
arg_pos
,
int
type
,
__ms_va_list
*
valist
)
...
...
dlls/ucrtbase/ucrtbase.spec
View file @
4ee316a9
...
...
@@ -2037,7 +2037,7 @@
@ cdecl _wcsset(wstr long) MSVCRT__wcsset
@ cdecl _wcsset_s(wstr long long) MSVCRT__wcsset_s
@ cdecl _wcstod_l(wstr ptr) MSVCRT__wcstod_l
@
stub
_wcstof_l
@
cdecl _wcstof_l(wstr ptr ptr) MSVCRT_
_wcstof_l
@ cdecl -ret64 _wcstoi64(wstr ptr long) MSVCRT__wcstoi64
@ cdecl -ret64 _wcstoi64_l(wstr ptr long ptr) MSVCRT__wcstoi64_l
@ stub _wcstoimax_l
...
...
@@ -2576,7 +2576,7 @@
@ cdecl wcsspn(wstr wstr) ntdll.wcsspn
@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
@ cdecl wcstod(wstr ptr) MSVCRT_wcstod
@
stub
wcstof
@
cdecl wcstof(ptr ptr) MSVCRT_
wcstof
@ stub wcstoimax
@ cdecl wcstok(wstr wstr) MSVCRT_wcstok
@ cdecl wcstok_s(ptr wstr ptr) MSVCRT_wcstok_s
...
...
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