Em qua., 15 de abr. de 2020 às 15:28, Juan José Santamaría Flecha < juanjo.santama...@gmail.com> escreveu:
> > > On Wed, Apr 15, 2020 at 4:46 PM Ranier Vilela <ranier...@gmail.com> wrote: > >> Em qua., 15 de abr. de 2020 às 03:08, davinder singh < >> davindersingh2...@gmail.com> escreveu: >> >>> >>> 5. Why call _create_locale if _WIN32_WINNT >= 0x0600 is true and loct is >>>> not used? >>>> >>> _create_locale can take bigger input than GetLocaleInfoEx. But we are >>> interested in >>> *language[_country-region[.code-page]]*. We are using _create_locale to >>> validate >>> the given input. The reason is we can't verify the locale name if it is >>> appended with >>> code-page by using GetLocaleInfoEx. So before parsing, we verify if the >>> whole input >>> locale name is valid by using _create_locale. I hope that answers your >>> question. >>> >> Understood. In this case, _create_locale, is being used only to validate >> the input. >> Perhaps, in addition, you could create an additional function, which only >> validates winlocname, without having to create structures or use malloc, to >> be used when _WIN32_WINNT> = 0x0600 is true, but it is only a suggestion, >> if you think it is necessary. >> > > Looking at the comments for IsoLocaleName() I see: "MinGW headers declare > _create_locale(), but msvcrt.dll lacks that symbol". This is outdated > [1][2], and _create_locale() could be used from Windows 8, but I think we > should use GetLocaleInfoEx() as a complete alternative to _create_locale(). > Sounds good to me, the exception maybe log error in case fail? regards, Ranier Vilela