Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
71200a98
Commit
71200a98
authored
Nov 02, 2010
by
Eric Pouech
Committed by
Alexandre Julliard
Nov 03, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
msvcrt: Implemented (_)wcserror.
parent
cff575fb
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
60 additions
and
12 deletions
+60
-12
msvcr100.spec
dlls/msvcr100/msvcr100.spec
+2
-2
msvcr70.spec
dlls/msvcr70/msvcr70.spec
+2
-2
msvcr71.spec
dlls/msvcr71/msvcr71.spec
+2
-2
msvcr80.spec
dlls/msvcr80/msvcr80.spec
+2
-2
msvcr90.spec
dlls/msvcr90/msvcr90.spec
+2
-2
errno.c
dlls/msvcrt/errno.c
+46
-0
main.c
dlls/msvcrt/main.c
+1
-0
msvcrt.h
dlls/msvcrt/msvcrt.h
+1
-0
msvcrt.spec
dlls/msvcrt/msvcrt.spec
+2
-2
No files found.
dlls/msvcr100/msvcr100.spec
View file @
71200a98
...
...
@@ -482,7 +482,7 @@
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ stub __vswprintf_l
@ extern __wargv msvcrt.__wargv
@
stub
__wcserror
@
cdecl __wcserror(wstr) msvcrt.
__wcserror
@ stub __wcserror_s
@ stub __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
...
...
@@ -1284,7 +1284,7 @@
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ stub _wcscoll_l
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@
stub
_wcserror
@
cdecl _wcserror(long) msvcrt.
_wcserror
@ stub _wcserror_s
@ stub _wcsftime_l
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
...
...
dlls/msvcr70/msvcr70.spec
View file @
71200a98
...
...
@@ -206,7 +206,7 @@
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) msvcrt.__unDNameEx
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ extern __wargv msvcrt.__wargv
@
stub
__wcserror
@
cdecl __wcserror(wstr) msvcrt.
__wcserror
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
@ extern __winitenv msvcrt.__winitenv
@ cdecl _abnormal_termination() msvcrt._abnormal_termination
...
...
@@ -595,7 +595,7 @@
@ extern _wcmdln msvcrt._wcmdln
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@
stub
_wcserror
@
cdecl _wcserror(long) msvcrt.
_wcserror
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
...
...
dlls/msvcr71/msvcr71.spec
View file @
71200a98
...
...
@@ -201,7 +201,7 @@
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long) msvcrt.__unDNameEx
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ extern __wargv msvcrt.__wargv
@
stub
__wcserror
@
cdecl __wcserror(wstr) msvcrt.
__wcserror
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
@ extern __winitenv msvcrt.__winitenv
@ cdecl _abnormal_termination() msvcrt._abnormal_termination
...
...
@@ -591,7 +591,7 @@
@ extern _wcmdln msvcrt._wcmdln
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@
stub
_wcserror
@
cdecl _wcserror(long) msvcrt.
_wcserror
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
@ cdecl _wcsicoll(wstr wstr) msvcrt._wcsicoll
@ cdecl _wcslwr(wstr) msvcrt._wcslwr
...
...
dlls/msvcr80/msvcr80.spec
View file @
71200a98
...
...
@@ -306,7 +306,7 @@
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ stub __vswprintf_l
@ extern __wargv msvcrt.__wargv
@
stub
__wcserror
@
cdecl __wcserror(wstr) msvcrt.
__wcserror
@ stub __wcserror_s
@ stub __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
...
...
@@ -1137,7 +1137,7 @@
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ stub _wcscoll_l
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@
stub
_wcserror
@
cdecl _wcserror(long) msvcrt.
_wcserror
@ stub _wcserror_s
@ stub _wcsftime_l
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
...
...
dlls/msvcr90/msvcr90.spec
View file @
71200a98
...
...
@@ -298,7 +298,7 @@
@ extern __unguarded_readlc_active msvcrt.__unguarded_readlc_active
@ stub __vswprintf_l
@ extern __wargv msvcrt.__wargv
@
stub
__wcserror
@
cdecl __wcserror(wstr) msvcrt.
__wcserror
@ stub __wcserror_s
@ stub __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr) msvcrt.__wgetmainargs
...
...
@@ -1124,7 +1124,7 @@
@ cdecl _wcreat(wstr long) msvcrt._wcreat
@ stub _wcscoll_l
@ cdecl _wcsdup(wstr) msvcrt._wcsdup
@
stub
_wcserror
@
cdecl _wcserror(long) msvcrt.
_wcserror
@ stub _wcserror_s
@ stub _wcsftime_l
@ cdecl _wcsicmp(wstr wstr) msvcrt._wcsicmp
...
...
dlls/msvcrt/errno.c
View file @
71200a98
...
...
@@ -27,6 +27,7 @@
#include "windef.h"
#include "winternl.h"
#include "msvcrt.h"
#include "winnls.h"
#include "excpt.h"
#include "wine/debug.h"
...
...
@@ -326,6 +327,51 @@ void CDECL MSVCRT_perror(const char* str)
MSVCRT__write
(
2
,
"
\n
"
,
1
);
}
/*********************************************************************
* _wcserror (MSVCRT.@)
*/
MSVCRT_wchar_t
*
CDECL
_wcserror
(
int
err
)
{
thread_data_t
*
data
=
msvcrt_get_thread_data
();
if
(
!
data
->
wcserror_buffer
)
if
(
!
(
data
->
wcserror_buffer
=
MSVCRT_malloc
(
256
*
sizeof
(
MSVCRT_wchar_t
))))
return
NULL
;
if
(
err
<
0
||
err
>
MSVCRT__sys_nerr
)
err
=
MSVCRT__sys_nerr
;
MultiByteToWideChar
(
CP_ACP
,
0
,
MSVCRT__sys_errlist
[
err
],
-
1
,
data
->
wcserror_buffer
,
256
);
return
data
->
wcserror_buffer
;
}
/**********************************************************************
* __wcserror (MSVCRT.@)
*/
MSVCRT_wchar_t
*
CDECL
__wcserror
(
const
MSVCRT_wchar_t
*
str
)
{
thread_data_t
*
data
=
msvcrt_get_thread_data
();
int
err
;
static
const
WCHAR
colonW
[]
=
{
':'
,
' '
,
'\0'
};
static
const
WCHAR
nlW
[]
=
{
'\n'
,
'\0'
};
size_t
len
;
if
(
!
data
->
wcserror_buffer
)
if
(
!
(
data
->
wcserror_buffer
=
MSVCRT_malloc
(
256
*
sizeof
(
MSVCRT_wchar_t
))))
return
NULL
;
err
=
data
->
thread_errno
;
if
(
err
<
0
||
err
>
MSVCRT__sys_nerr
)
err
=
MSVCRT__sys_nerr
;
if
(
str
&&
*
str
)
{
lstrcpyW
(
data
->
wcserror_buffer
,
str
);
lstrcatW
(
data
->
wcserror_buffer
,
colonW
);
}
else
data
->
wcserror_buffer
[
0
]
=
'\0'
;
len
=
lstrlenW
(
data
->
wcserror_buffer
);
MultiByteToWideChar
(
CP_ACP
,
0
,
MSVCRT__sys_errlist
[
err
],
-
1
,
data
->
wcserror_buffer
+
len
,
256
-
len
);
lstrcatW
(
data
->
wcserror_buffer
,
nlW
);
return
data
->
wcserror_buffer
;
}
/******************************************************************************
* _set_error_mode (MSVCRT.@)
*
...
...
dlls/msvcrt/main.c
View file @
71200a98
...
...
@@ -70,6 +70,7 @@ static inline void msvcrt_free_tls_mem(void)
HeapFree
(
GetProcessHeap
(),
0
,
tls
->
asctime_buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
tls
->
wasctime_buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
tls
->
strerror_buffer
);
HeapFree
(
GetProcessHeap
(),
0
,
tls
->
wcserror_buffer
);
MSVCRT__free_locale
(
tls
->
locale
);
}
HeapFree
(
GetProcessHeap
(),
0
,
tls
);
...
...
dlls/msvcrt/msvcrt.h
View file @
71200a98
...
...
@@ -116,6 +116,7 @@ struct __thread_data {
MSVCRT_wchar_t
*
wasctime_buffer
;
/* buffer for wasctime */
struct
MSVCRT_tm
time_buffer
;
/* buffer for localtime/gmtime */
char
*
strerror_buffer
;
/* buffer for strerror */
MSVCRT_wchar_t
*
wcserror_buffer
;
/* buffer for wcserror */
int
fpecode
;
MSVCRT_terminate_function
terminate_handler
;
MSVCRT_unexpected_function
unexpected_handler
;
...
...
dlls/msvcrt/msvcrt.spec
View file @
71200a98
...
...
@@ -263,7 +263,7 @@
@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
@ extern __unguarded_readlc_active MSVCRT___unguarded_readlc_active
@ extern __wargv MSVCRT___wargv
# stub __wcserror
@ cdecl __wcserror(wstr)
# stub __wcserror_s
# stub __wcsncnt
@ cdecl __wgetmainargs(ptr ptr ptr long ptr)
...
...
@@ -1057,7 +1057,7 @@
# stub _wcscoll_l
@ cdecl _wcsdup(wstr)
# stub _wcsdup_dbg
# stub _wcserror
@ cdecl _wcserror(long)
# stub _wcserror_s
# stub _wcsftime_l
@ cdecl _wcsicmp(wstr wstr) ntdll._wcsicmp
...
...
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