taskmgr: Fix a string resource so its format placeholders can be reordered.

Francois Gouget fgouget at free.fr
Wed Nov 23 17:26:08 CST 2011


Also the numbers we format are actually unsigned.
---
 programs/taskmgr/perfpage.c |   14 ++++++++++----
 programs/taskmgr/taskmgr.rc |    2 +-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/programs/taskmgr/perfpage.c b/programs/taskmgr/perfpage.c
index 06f91a4..13f7e92 100644
--- a/programs/taskmgr/perfpage.c
+++ b/programs/taskmgr/perfpage.c
@@ -140,7 +140,7 @@ static DWORD WINAPI PerformancePageRefreshThread(void *lpParameter)
 
 	WCHAR	Text[256];
 
-	static const WCHAR    wszFormatDigit[] = {'%','d',0};
+	static const WCHAR    wszFormatDigit[] = {'%','u',0};
 	WCHAR    wszMemUsage[255];
 
 	LoadStringW(hInst, IDS_STATUS_BAR_MEMORY_USAGE, wszMemUsage, sizeof(wszMemUsage)/sizeof(WCHAR));
@@ -168,8 +168,8 @@ static DWORD WINAPI PerformancePageRefreshThread(void *lpParameter)
 		{
 			ULONG CpuUsage;
 			ULONG CpuKernelUsage;
-			int nBarsUsed1;
-			int nBarsUsed2;
+			int nBarsUsed1, nBarsUsed2;
+			DWORD_PTR args[2];
 
 			/*  Reset our event */
 			ResetEvent(hPerformancePageEvent);
@@ -185,8 +185,14 @@ static DWORD WINAPI PerformancePageRefreshThread(void *lpParameter)
 			wsprintfW(Text, wszFormatDigit, CommitChargeLimit);
 			SetWindowTextW(hPerformancePageCommitChargeLimitEdit, Text);
 			wsprintfW(Text, wszFormatDigit, CommitChargePeak);
+
 			SetWindowTextW(hPerformancePageCommitChargePeakEdit, Text);
-			wsprintfW(Text, wszMemUsage, CommitChargeTotal, CommitChargeLimit);
+
+			args[0] = CommitChargeTotal;
+			args[1] = CommitChargeLimit;
+			FormatMessageW(FORMAT_MESSAGE_FROM_STRING|FORMAT_MESSAGE_ARGUMENT_ARRAY,
+			               wszMemUsage, 0, 0, Text,
+			               sizeof(Text)/sizeof(*Text), (__ms_va_list*)args);
 			SendMessageW(hStatusWnd, SB_SETTEXTW, 2, (LPARAM)Text);
 
 			/* 
diff --git a/programs/taskmgr/taskmgr.rc b/programs/taskmgr/taskmgr.rc
index 99a8f33..d583125 100644
--- a/programs/taskmgr/taskmgr.rc
+++ b/programs/taskmgr/taskmgr.rc
@@ -263,7 +263,7 @@ BEGIN
     IDS_PERFORMANCE                    "Performance"
     IDS_STATUS_BAR_CPU_USAGE           "CPU Usage: %3d%%"
     IDS_STATUS_BAR_PROCESSES           "Processes: %d"
-    IDS_STATUS_BAR_MEMORY_USAGE        "Mem Usage: %dK / %dK"
+    IDS_STATUS_BAR_MEMORY_USAGE        "Mem Usage: %1!u!kB / %2!u!kB"
 END
 
 STRINGTABLE
-- 
1.7.7.1




More information about the wine-patches mailing list