From 224a9ae3e37417175c48a38d7571ee5ec6b71603 Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Wed, 12 Jan 2011 15:31:20 +0000 Subject: [PATCH] [PING] Implement small helper MyLoadString, using FindResource, LoadResource, LockResource and replacing LoadString, so we don't need to link to user32 anymore. svn path=/trunk/; revision=50372 --- reactos/base/applications/network/ping/ping.c | 26 ++++++++++++++++--- .../applications/network/ping/ping.rbuild | 1 - 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/reactos/base/applications/network/ping/ping.c b/reactos/base/applications/network/ping/ping.c index 58c4c53dd1c..40ebefb679a 100644 --- a/reactos/base/applications/network/ping/ping.c +++ b/reactos/base/applications/network/ping/ping.c @@ -109,6 +109,24 @@ static VOID DisplayBuffer( } #endif /* !NDEBUG */ +LPWSTR +MyLoadString(UINT uID) +{ + HRSRC hres; + HGLOBAL hResData; + LPWSTR pwsz; + + hres = FindResourceW(NULL, MAKEINTRESOURCEW((LOWORD(uID) >> 4) + 1), RT_STRING); + if (!hres) return NULL; + + hResData = LoadResource(NULL, hres); + if (!hResData) return NULL; + + pwsz = LockResource(hResData); + if (!pwsz) return NULL; + return pwsz + 1; +} + void FormatOutput(UINT uID, ...) { va_list valist; @@ -121,8 +139,8 @@ void FormatOutput(UINT uID, ...) va_start(valist, uID); - if(!LoadString(NULL, uID, (LPWSTR)&Format, 0)) - return; + Format = MyLoadString(uID); + if (!Format) return; DataLength = FormatMessage(FORMAT_MESSAGE_FROM_STRING, Format, 0, 0, Buf,\ sizeof(Buf) / sizeof(WCHAR), &valist); @@ -459,7 +477,7 @@ static VOID TimeToMsString(LPWSTR String, LARGE_INTEGER Time) _i64tow(LargeTime.QuadPart, Convstr, 10); wcscpy(String, Convstr); - LoadString(NULL, IDS_MS, (LPWSTR)&ms, 0); + ms = MyLoadString(IDS_MS); wcscat(String, ms); } @@ -523,7 +541,7 @@ static BOOL DecodeResponse(PCHAR buffer, UINT size, PSOCKADDR_IN from) LPWSTR ms1; wcscpy(Sign, L"<"); - LoadString(NULL, IDS_1MS, (LPWSTR)&ms1, 0); + ms1 = MyLoadString(IDS_1MS); wcscpy(Time, ms1); } else diff --git a/reactos/base/applications/network/ping/ping.rbuild b/reactos/base/applications/network/ping/ping.rbuild index dee9207fea4..72dacc18479 100644 --- a/reactos/base/applications/network/ping/ping.rbuild +++ b/reactos/base/applications/network/ping/ping.rbuild @@ -4,7 +4,6 @@ . ws2_32 - user32 ping.c ping.rc -- 2.17.1