On 24.01.22 22:23, Dmitry Koval wrote:
+/*
+ * Windows will use hyphens between language and territory, where POSIX
+ * uses an underscore. Simply make it POSIX looking.
+ */
+ hyphen = strchr(localebuf, '-');
+ if (hyphen)
+    *hyphen = '_';

After this block modified collation name is used in function

GetNLSVersionEx(COMPARE_STRING, wide_collcollate, &version)

(see win32_read_locale() -> CollationFromLocale() -> CollationCreate()
call). Is it correct to use (wide_collcollate = "en_NZ") instead of
(wide_collcollate = "en-NZ") in GetNLSVersionEx() function?

I don't really know if this is necessary anyway. Just create the collations with the names that the operating system presents. There is no requirement to make the names match POSIX.

If you want to make them match POSIX for some reason, you can also just change the object name but leave the collcollate/collctype fields the way they came from the OS.


Reply via email to