setupapi: Fix a string resource so its format placeholders can be reordered.
Francois Gouget
fgouget at free.fr
Sat Nov 19 08:12:05 CST 2011
---
dlls/setupapi/dialog.c | 18 ++++++++++--------
dlls/setupapi/setupapi.rc | 2 +-
2 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/dlls/setupapi/dialog.c b/dlls/setupapi/dialog.c
index 948fa74..24a46e8 100644
--- a/dlls/setupapi/dialog.c
+++ b/dlls/setupapi/dialog.c
@@ -51,9 +51,6 @@ struct promptdisk_params {
*/
static void promptdisk_init(HWND hwnd, struct promptdisk_params *params)
{
- WCHAR format[256];
- WCHAR message[256];
-
SetWindowLongPtrW(hwnd, DWLP_USER, (LONG_PTR)params);
if(params->DialogTitle)
@@ -63,20 +60,25 @@ static void promptdisk_init(HWND hwnd, struct promptdisk_params *params)
if(!(params->DiskPromptStyle & IDF_OEMDISK))
{
+ WCHAR message[256+2*MAX_PATH];
+ WCHAR format[256];
+ WCHAR unknown[256];
+ DWORD_PTR args[2];
LoadStringW(SETUPAPI_hInstance, IDS_PROMPTDISK, format,
sizeof(format)/sizeof(format[0]));
+ args[0] = (DWORD_PTR)params->FileSought;
if(params->DiskName)
- snprintfW(message, sizeof(message)/sizeof(message[0]), format,
- params->FileSought, params->DiskName);
+ args[1] = (DWORD_PTR)params->DiskName;
else
{
- WCHAR unknown[256];
LoadStringW(SETUPAPI_hInstance, IDS_UNKNOWN, unknown,
sizeof(unknown)/sizeof(unknown[0]));
- snprintfW(message, sizeof(message)/sizeof(message[0]), format,
- params->FileSought, unknown);
+ args[1] = (DWORD_PTR)unknown;
}
+ FormatMessageW(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ARGUMENT_ARRAY,
+ format, 0, 0, message, sizeof(message)/sizeof(*message),
+ (__ms_va_list*)args);
SetDlgItemTextW(hwnd, IDC_FILENEEDED, message);
LoadStringW(SETUPAPI_hInstance, IDS_INFO, message,
diff --git a/dlls/setupapi/setupapi.rc b/dlls/setupapi/setupapi.rc
index b657857..eaffbb8 100644
--- a/dlls/setupapi/setupapi.rc
+++ b/dlls/setupapi/setupapi.rc
@@ -25,7 +25,7 @@ LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT
STRINGTABLE
{
- IDS_PROMPTDISK "The file '%s' on %s is needed"
+ IDS_PROMPTDISK "The file '%1' on %2 is needed"
IDS_UNKNOWN "Unknown"
IDS_COPYFROM "Copy files from:"
IDS_INFO "Type the path where the file is located, and then click OK."
--
1.7.7.1
More information about the wine-patches
mailing list