svn commit: r1934303 - apr/apr/trunk/misc/win32
[email protected] Sun, 17 May 2026 15:27:36 -0000
| Newsgroups | gmane.comp.apache.apr.cvs |
|---|---|
| Message-ID | <177903165667.4038255.3164164082666605770@svn03-he-fi> |
Author: ivan
Date: Sun May 17 15:27:36 2026
New Revision: 1934303
Log:
windows: Simplify code by using LOCALE_RETURN_NUMBER flag for GetLocaleInfo().
* misc/win32/charset.c
(apr_os_locale_encoding): Use GetLocaleInfo(LOCALE_RETURN_NUMBER |
LOCALE_IDEFAULTANSICODEPAGE) to get locale information as DWORD instead of
string.
Modified:
apr/apr/trunk/misc/win32/charset.c
Modified: apr/apr/trunk/misc/win32/charset.c
==============================================================================
--- apr/apr/trunk/misc/win32/charset.c Sun May 17 15:05:56 2026 (r1934302)
+++ apr/apr/trunk/misc/win32/charset.c Sun May 17 15:27:36 2026 (r1934303)
@@ -27,24 +27,15 @@ APR_DECLARE(const char*) apr_os_default_
APR_DECLARE(const char*) apr_os_locale_encoding (apr_pool_t *pool)
{
-#ifdef _UNICODE
- int i;
-#endif
LCID locale = GetThreadLocale();
- int len = GetLocaleInfo(locale, LOCALE_IDEFAULTANSICODEPAGE, NULL, 0);
- char *cp = apr_palloc(pool, (len * sizeof(TCHAR)) + 2);
- if (0 < GetLocaleInfo(locale, LOCALE_IDEFAULTANSICODEPAGE, (TCHAR*) (cp + 2), len))
+
+ DWORD codepage;
+ if (0 < GetLocaleInfo(locale,
+ LOCALE_RETURN_NUMBER | LOCALE_IDEFAULTANSICODEPAGE,
+ (LPTSTR)&codepage,
+ sizeof(codepage) / sizeof(TCHAR)))
{
- /* Fix up the returned number to make a valid codepage name of
- the form "CPnnnn". */
- cp[0] = 'C';
- cp[1] = 'P';
-#ifdef _UNICODE
- for(i = 0; i < len; i++) {
- cp[i + 2] = (char) ((TCHAR*) (cp + 2))[i];
- }
-#endif
- return cp;
+ return apr_psprintf(pool, "CP%u", codepage);
}
return apr_os_default_encoding(pool);