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
de548725
Commit
de548725
authored
Apr 28, 2022
by
Eric Pouech
Committed by
Alexandre Julliard
May 02, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
regsvr32: Use OEM code page for output.
Signed-off-by:
Eric Pouech
<
eric.pouech@gmail.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
b111fab9
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
4 additions
and
6 deletions
+4
-6
regsvr32.c
programs/regsvr32/regsvr32.c
+4
-6
No files found.
programs/regsvr32/regsvr32.c
View file @
de548725
...
@@ -41,7 +41,7 @@ static void WINAPIV output_write(UINT id, ...)
...
@@ -41,7 +41,7 @@ static void WINAPIV output_write(UINT id, ...)
WCHAR
fmt
[
1024
];
WCHAR
fmt
[
1024
];
va_list
va_args
;
va_list
va_args
;
WCHAR
*
str
;
WCHAR
*
str
;
DWORD
len
,
nOut
,
ret
;
DWORD
len
,
nOut
;
if
(
Silent
)
return
;
if
(
Silent
)
return
;
...
@@ -61,21 +61,19 @@ static void WINAPIV output_write(UINT id, ...)
...
@@ -61,21 +61,19 @@ static void WINAPIV output_write(UINT id, ...)
return
;
return
;
}
}
ret
=
WriteConsoleW
(
GetStdHandle
(
STD_OUTPUT_HANDLE
),
str
,
len
,
&
nOut
,
NULL
);
/* WriteConsole fails if its output is redirected to a file.
/* WriteConsole fails if its output is redirected to a file.
* If this occurs, we should use an OEM codepage and call WriteFile.
* If this occurs, we should use an OEM codepage and call WriteFile.
*/
*/
if
(
!
ret
)
if
(
!
WriteConsoleW
(
GetStdHandle
(
STD_OUTPUT_HANDLE
),
str
,
len
,
&
nOut
,
NULL
)
)
{
{
DWORD
lenA
;
DWORD
lenA
;
char
*
strA
;
char
*
strA
;
lenA
=
WideCharToMultiByte
(
Get
ConsoleOutput
CP
(),
0
,
str
,
len
,
NULL
,
0
,
NULL
,
NULL
);
lenA
=
WideCharToMultiByte
(
Get
OEM
CP
(),
0
,
str
,
len
,
NULL
,
0
,
NULL
,
NULL
);
strA
=
HeapAlloc
(
GetProcessHeap
(),
0
,
lenA
);
strA
=
HeapAlloc
(
GetProcessHeap
(),
0
,
lenA
);
if
(
strA
)
if
(
strA
)
{
{
WideCharToMultiByte
(
Get
ConsoleOutput
CP
(),
0
,
str
,
len
,
strA
,
lenA
,
NULL
,
NULL
);
WideCharToMultiByte
(
Get
OEM
CP
(),
0
,
str
,
len
,
strA
,
lenA
,
NULL
,
NULL
);
WriteFile
(
GetStdHandle
(
STD_OUTPUT_HANDLE
),
strA
,
lenA
,
&
nOut
,
FALSE
);
WriteFile
(
GetStdHandle
(
STD_OUTPUT_HANDLE
),
strA
,
lenA
,
&
nOut
,
FALSE
);
HeapFree
(
GetProcessHeap
(),
0
,
strA
);
HeapFree
(
GetProcessHeap
(),
0
,
strA
);
}
}
...
...
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