On 2016-08-20 15:37, Corinna Vinschen wrote:
I uploaded a new Cygwin test release 2.6.0-0.11. (Still) two interesting changes in this test release: - Fix the bug reported in https://cygwin.com/ml/cygwin/2016-08/msg00357.html - Add missing nl_langinfo_l functions as reported in https://cygwin.com/ml/cygwin/2016-08/msg00349.html The 2.6.0 release is going to introducing the locale_t datatype, as well as all functions related to locale_t locales and per-thread locales per POSIX-1.2008. So, rather than just providing a single, per-process locale, you can now create new locales ("newlocale") and set it as locale for the current thread ("uselocale") or use it directly with one of the new functions taking a locale_t as parameter (i.e. isalpha_l). The full list of new interfaces is: - POSIX: newlocale, freelocale, duplocale, uselocale, nl_langinfo_l isalnum_l, isalpha_l, isblank_l, iscntrl_l, isdigit_l, isgraph_l, islower_l, isprint_l, ispunct_l, isspace_l, isupper_l, iswalnum_l, iswalpha_l, iswblank_l, iswcntrl_l, iswctype_l, iswdigit_l, iswgraph_l, iswlower_l, iswprint_l, iswpunct_l, iswspace_l, iswupper_l, iswxdigit_l, isxdigit_l tolower_l, toupper_l, towctrans_l, towlower_l, towupper_l, wctrans_l, wctype_l strcasecmp_l, strcoll_l, strncasecmp_l, strxfrm_l wcscasecmp_l, wcscoll_l, wcstrncasecmp_l, wcstrxfrm_l strfmon_l, strftime_l - GNU extensions: isascii_l, toascii_l strtol_l, stroll_l, strtoul_l, strtoull_l strtod_l, strtofl, strtold_l wcstol_l, wcsoll_l, wcstoul_l, wcstoull_l wcstod_l, wcstofl, wcstold_l
Hi folks, Compared lists of locale_t headers and functions for POSIX, Cygwin, and glibc, attached below for comparison, and found: * missed string.h(strerror_l) on my first check; not sure if you can implement that easily on Windows? * GNU also supports wchar.h(wcsftime_l) and time.h(strptime_l); * GNU also defines string.h(str[n]casecmp_l) functions as an extension, as well as in POSIX specified strings.h. -- Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada
POSIX CYGWIN GLIBC headers ctype.h functions isalnum_l isalnum_l isalnum_l functions isalpha_l isalpha_l isalpha_l functions isblank_l isblank_l isblank_l functions iscntrl_l iscntrl_l iscntrl_l functions isdigit_l isdigit_l isdigit_l functions isgraph_l isgraph_l isgraph_l functions islower_l islower_l islower_l functions isprint_l isprint_l isprint_l functions ispunct_l ispunct_l ispunct_l functions isspace_l isspace_l isspace_l functions isupper_l isupper_l isupper_l functions isxdigit_l isxdigit_l isxdigit_l functions tolower_l tolower_l tolower_l functions toupper_l toupper_l toupper_l functions toascii_l toascii_l functions isascii_l isascii_l headers wctype.h functions iswalnum_l iswalnum_l iswalnum_l functions iswalpha_l iswalpha_l iswalpha_l functions iswblank_l iswblank_l iswblank_l functions iswcntrl_l iswcntrl_l iswcntrl_l functions iswctype_l iswctype_l iswctype_l functions iswdigit_l iswdigit_l iswdigit_l functions iswgraph_l iswgraph_l iswgraph_l functions iswlower_l iswlower_l iswlower_l functions iswprint_l iswprint_l iswprint_l functions iswpunct_l iswpunct_l iswpunct_l functions iswspace_l iswspace_l iswspace_l functions iswupper_l iswupper_l iswupper_l functions iswxdigit_l iswxdigit_l iswxdigit_l functions towctrans_l towctrans_l towctrans_l functions towlower_l towlower_l towlower_l functions towupper_l towupper_l towupper_l functions wctrans_l wctrans_l wctrans_l functions wctype_l wctype_l wctype_l headers locale.h functions duplocale duplocale duplocale functions freelocale freelocale freelocale functions newlocale newlocale newlocale functions uselocale uselocale uselocale headers wchar.h functions wcscasecmp_l wcscasecmp_l wcscasecmp_l functions wcscoll_l wcscoll_l wcscoll_l functions wcsncasecmp_l wcsncasecmp_l wcsncasecmp_l functions wcsxfrm_l wcsxfrm_l wcsxfrm_l functions wcstod_l wcstod_l functions wcstof_l wcstof_l functions wcstol_l wcstol_l functions wcstold_l wcstold_l functions wcstoll_l wcstoll_l functions wcstoul_l wcstoul_l functions wcstoull_l wcstoull_l functions * wcsftime_l headers string.h functions strcoll_l strcoll_l strcoll_l functions strerror_l * strerror_l functions strxfrm_l strxfrm_l strxfrm_l functions ? strcasecmp_l functions ? strncasecmp_l headers strings.h functions strcasecmp_l strcasecmp_l strcasecmp_l functions strncasecmp_l strncasecmp_l strncasecmp_l headers langinfo.h functions nl_langinfo_l nl_langinfo_l nl_langinfo_l headers monetary.h functions strfmon_l strfmon_l strfmon_l headers time.h functions strftime_l strftime_l strftime_l functions * strptime_l headers stdlib.h functions strtod_l strtod_l functions strtof_l strtof_l functions strtol_l strtol_l functions strtold_l strtold_l functions strtoll_l strtoll_l functions strtoul_l strtoul_l functions strtoull_l strtoull_l
-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple