<i18n dev> RFR: 8370420: HostLocaleProviderAdapter_md.c from libjava can use GetLocaleInfoEx, GetCalendarInfoEx, EnumCalendarInfoExEx directly
Naoto Sato
naoto at openjdk.org
Tue Nov 4 00:49:06 UTC 2025
On Mon, 3 Nov 2025 23:48:22 GMT, Justin Lu <jlu at openjdk.org> wrote:
> This PR cleans up some native code for Windows i18n functions. These particular calls are designed to run on Windows Vista and later. Since Vista (and older) are not supported Windows platforms, the calls no longer need to be checked if they are supported and can be called directly.
>
> Reference to docs: https://learn.microsoft.com/en-us/windows/win32/api/winnls/nf-winnls-getlocaleinfoex.
>
>> Minimum supported client: Windows Vista
>> Minimum supported server: Windows Server 2008
I think we can clean it further, as we don't need to call Win32 through their function pointers. Specifically,
typedef int (WINAPI *PGLIE)(const jchar *, LCTYPE, LPWSTR, int);
typedef int (WINAPI *PGCIE)(const jchar *, CALID, LPCWSTR, CALTYPE, LPWSTR, int, LPDWORD);
typedef int (WINAPI *PECIEE)(CALINFO_ENUMPROCEXEX, const jchar *, CALID, LPCWSTR, CALTYPE, LPARAM);
PGLIE pGetLocaleInfoEx;
PGCIE pGetCalendarInfoEx;
PECIEE pEnumCalendarInfoExEx;
BOOL initialized = FALSE;
and it's init code can all go away, IIUC
-------------
PR Comment: https://git.openjdk.org/jdk/pull/28119#issuecomment-3483228621
More information about the i18n-dev
mailing list