Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Tue Aug 23 13:41:00 GMT 2016

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

-------------- next part --------------
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

-------------- next part --------------
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

More information about the Cygwin mailing list