Module Name: src Committed By: joerg Date: Fri May 17 12:55:57 UTC 2013
Modified Files: src/common/lib/libc/stdlib: _strtol.h _strtoul.h src/include: locale.h src/lib/libc/gdtoa: strtod.c strtof.c strtof_vaxf.c strtold_subr.c src/lib/libc/gen: isctype.c src/lib/libc/locale: Makefile.inc _wcstod.h _wcstol.h _wcstoul.h freelocale.c global_locale.c iswctype_mb.c localeconv.c multibyte_amd1.c multibyte_c90.c nb_lc_template.h newlocale.c setlocale.c setlocale_local.h wcscoll.c wcsxfrm.c src/lib/libc/stdio: vasprintf.c vdprintf.c vfscanf.c vfwprintf.c vfwscanf.c vsnprintf.c vsprintf.c vsscanf.c vswprintf.c vswscanf.c src/lib/libc/string: strcoll.c strxfrm.c wcscasecmp.c wcsncasecmp.c src/lib/libc/time: strftime.c strptime.c Removed Files: src/lib/libc/locale: c_locale.c current_locale.c Log Message: Provide explicit LC_C_LOCALE accessor and drop the various NULL checks. Provide LC_GLOBAL_LOCALE in a way that works with all locale functions. Merge constant data used by the initial global locale and the C locale. Drop function call layer for _current_locale() and directly return the locale reference, not a pointer to it. Use protected access for global variables, so that libc references can avoid the GOT overhead. To generate a diff of this commit: cvs rdiff -u -r1.6 -r1.7 src/common/lib/libc/stdlib/_strtol.h \ src/common/lib/libc/stdlib/_strtoul.h cvs rdiff -u -r1.21 -r1.22 src/include/locale.h cvs rdiff -u -r1.13 -r1.14 src/lib/libc/gdtoa/strtod.c cvs rdiff -u -r1.6 -r1.7 src/lib/libc/gdtoa/strtof.c cvs rdiff -u -r1.7 -r1.8 src/lib/libc/gdtoa/strtof_vaxf.c cvs rdiff -u -r1.2 -r1.3 src/lib/libc/gdtoa/strtold_subr.c cvs rdiff -u -r1.23 -r1.24 src/lib/libc/gen/isctype.c cvs rdiff -u -r1.62 -r1.63 src/lib/libc/locale/Makefile.inc \ src/lib/libc/locale/setlocale.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/locale/_wcstod.h \ src/lib/libc/locale/wcscoll.c cvs rdiff -u -r1.5 -r1.6 src/lib/libc/locale/_wcstol.h \ src/lib/libc/locale/_wcstoul.h src/lib/libc/locale/nb_lc_template.h cvs rdiff -u -r1.2 -r0 src/lib/libc/locale/c_locale.c cvs rdiff -u -r1.4 -r0 src/lib/libc/locale/current_locale.c cvs rdiff -u -r1.1 -r1.2 src/lib/libc/locale/freelocale.c \ src/lib/libc/locale/newlocale.c cvs rdiff -u -r1.16 -r1.17 src/lib/libc/locale/global_locale.c cvs rdiff -u -r1.12 -r1.13 src/lib/libc/locale/iswctype_mb.c cvs rdiff -u -r1.20 -r1.21 src/lib/libc/locale/localeconv.c cvs rdiff -u -r1.11 -r1.12 src/lib/libc/locale/multibyte_amd1.c \ src/lib/libc/locale/setlocale_local.h cvs rdiff -u -r1.9 -r1.10 src/lib/libc/locale/multibyte_c90.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/locale/wcsxfrm.c cvs rdiff -u -r1.15 -r1.16 src/lib/libc/stdio/vasprintf.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/stdio/vdprintf.c cvs rdiff -u -r1.44 -r1.45 src/lib/libc/stdio/vfscanf.c cvs rdiff -u -r1.31 -r1.32 src/lib/libc/stdio/vfwprintf.c cvs rdiff -u -r1.9 -r1.10 src/lib/libc/stdio/vfwscanf.c cvs rdiff -u -r1.26 -r1.27 src/lib/libc/stdio/vsnprintf.c cvs rdiff -u -r1.18 -r1.19 src/lib/libc/stdio/vsprintf.c cvs rdiff -u -r1.20 -r1.21 src/lib/libc/stdio/vsscanf.c cvs rdiff -u -r1.4 -r1.5 src/lib/libc/stdio/vswprintf.c cvs rdiff -u -r1.11 -r1.12 src/lib/libc/stdio/vswscanf.c cvs rdiff -u -r1.11 -r1.12 src/lib/libc/string/strcoll.c cvs rdiff -u -r1.13 -r1.14 src/lib/libc/string/strxfrm.c cvs rdiff -u -r1.3 -r1.4 src/lib/libc/string/wcscasecmp.c \ src/lib/libc/string/wcsncasecmp.c cvs rdiff -u -r1.25 -r1.26 src/lib/libc/time/strftime.c cvs rdiff -u -r1.37 -r1.38 src/lib/libc/time/strptime.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.