mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 04:13:31 +00:00
[KERNEL32] Sync format_msg.c with Wine Staging 1.7.55. CORE-10536
svn path=/trunk/; revision=70159
This commit is contained in:
@@ -56,8 +56,6 @@ struct format_args
|
||||
* Yes, ANSI strings in win32 resources. Go figure.
|
||||
*/
|
||||
|
||||
static const WCHAR FMTWSTR[] = { '%','s',0 };
|
||||
|
||||
/**********************************************************************
|
||||
* load_message (internal)
|
||||
*/
|
||||
@@ -92,6 +90,24 @@ static LPWSTR load_message( HMODULE module, UINT id, WORD lang )
|
||||
return buffer;
|
||||
}
|
||||
|
||||
static LPWSTR search_message( DWORD flags, HMODULE module, UINT id, WORD lang )
|
||||
{
|
||||
LPWSTR from = NULL;
|
||||
if (flags & FORMAT_MESSAGE_FROM_HMODULE)
|
||||
from = load_message( module, id, lang );
|
||||
if (!from && (flags & FORMAT_MESSAGE_FROM_SYSTEM))
|
||||
{
|
||||
/* Fold win32 hresult to its embedded error code. */
|
||||
if (HRESULT_SEVERITY(id) == SEVERITY_ERROR &&
|
||||
HRESULT_FACILITY(id) == FACILITY_WIN32)
|
||||
{
|
||||
id = HRESULT_CODE(id);
|
||||
}
|
||||
from = load_message( kernel32_handle, id, lang );
|
||||
}
|
||||
return from;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* get_arg (internal)
|
||||
*/
|
||||
@@ -480,10 +496,7 @@ DWORD WINAPI FormatMessageA(
|
||||
}
|
||||
else if (dwFlags & (FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM))
|
||||
{
|
||||
if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE)
|
||||
from = load_message( (HMODULE)lpSource, dwMessageId, dwLanguageId );
|
||||
if (!from && (dwFlags & FORMAT_MESSAGE_FROM_SYSTEM))
|
||||
from = load_message( kernel32_handle, dwMessageId, dwLanguageId );
|
||||
from = search_message( dwFlags, (HMODULE)lpSource, dwMessageId, dwLanguageId );
|
||||
if (!from) return 0;
|
||||
}
|
||||
else
|
||||
@@ -580,10 +593,7 @@ DWORD WINAPI FormatMessageW(
|
||||
}
|
||||
else if (dwFlags & (FORMAT_MESSAGE_FROM_HMODULE | FORMAT_MESSAGE_FROM_SYSTEM))
|
||||
{
|
||||
if (dwFlags & FORMAT_MESSAGE_FROM_HMODULE)
|
||||
from = load_message( (HMODULE)lpSource, dwMessageId, dwLanguageId );
|
||||
if (!from && (dwFlags & FORMAT_MESSAGE_FROM_SYSTEM))
|
||||
from = load_message( kernel32_handle, dwMessageId, dwLanguageId );
|
||||
from = search_message( dwFlags, (HMODULE)lpSource, dwMessageId, dwLanguageId );
|
||||
if (!from) return 0;
|
||||
}
|
||||
else
|
||||
|
||||
@@ -274,7 +274,7 @@ kernel32 -
|
||||
reactos/dll/win32/kernel32/winnls/string/casemap.c # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/kernel32/winnls/string/chartype.c # Synced in r52754
|
||||
reactos/dll/win32/kernel32/winnls/string/collation.c # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/kernel32/winnls/string/format_msg.c # Synced to Wine-1.7.27
|
||||
reactos/dll/win32/kernel32/winnls/string/format_msg.c # Synced to WineStaging-1.7.55
|
||||
reactos/dll/win32/kernel32/winnls/string/lang.c # Synced in r52754
|
||||
reactos/dll/win32/kernel32/winnls/string/lcformat.c # Synced in r52754
|
||||
reactos/dll/win32/kernel32/winnls/string/nls.c # Synced in r52754
|
||||
|
||||
Reference in New Issue
Block a user