Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/kornelski/7z.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Windows/ResourceString.cpp')
-rwxr-xr-xWindows/ResourceString.cpp35
1 files changed, 19 insertions, 16 deletions
diff --git a/Windows/ResourceString.cpp b/Windows/ResourceString.cpp
index b327298d..48dd4936 100755
--- a/Windows/ResourceString.cpp
+++ b/Windows/ResourceString.cpp
@@ -8,6 +8,9 @@
#endif
extern HINSTANCE g_hInstance;
+#ifndef _UNICODE
+extern bool g_IsNT;
+#endif
namespace NWindows {
@@ -20,7 +23,8 @@ CSysString MyLoadString(UINT resourceID)
{
size += 256;
len = ::LoadString(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
- } while (size - len <= 1);
+ }
+ while (size - len <= 1);
s.ReleaseBuffer();
return s;
}
@@ -28,23 +32,22 @@ CSysString MyLoadString(UINT resourceID)
#ifndef _UNICODE
UString MyLoadStringW(UINT resourceID)
{
- UString s;
- int size = 256;
- int len;
- do
+ if (g_IsNT)
{
- size += 256;
- len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
- if (len == 0)
+ UString s;
+ int size = 256;
+ int len;
+ do
{
- if (::GetLastError() != ERROR_CALL_NOT_IMPLEMENTED)
- break;
- return GetUnicodeString(MyLoadString(resourceID));
- }
- } while (size - len <= 1);
- s.ReleaseBuffer();
- return s;
+ size += 256;
+ len = ::LoadStringW(g_hInstance, resourceID, s.GetBuffer(size - 1), size);
+ }
+ while (size - len <= 1);
+ s.ReleaseBuffer();
+ return s;
+ }
+ return GetUnicodeString(MyLoadString(resourceID));
}
#endif
-} \ No newline at end of file
+}