Module Name: src Committed By: joerg Date: Fri Sep 13 13:13:32 UTC 2013
Modified Files: src/lib/libc/citrus: citrus_lc_ctype.c src/lib/libc/compat/locale: compat_setlocale1.c src/lib/libc/locale: global_locale.c localeconv.c nb_lc_messages_misc.h nb_lc_monetary_misc.h nb_lc_numeric_misc.h nb_lc_template.h nb_lc_template_decl.h nb_lc_time_misc.h newlocale.c setlocale.c setlocale_local.h Log Message: Redo the locale cache to be constant. It now contains the localeconv() data and which LC_MONETARY and LC_NUMERIC values it is derived from. In newlocale(3) and setlocale(3), check for the existing entries and on miss, create a new entry. This is currently not using a lock for the list as the worst case is a small memory leak. To generate a diff of this commit: cvs rdiff -u -r1.14 -r1.15 src/lib/libc/citrus/citrus_lc_ctype.c cvs rdiff -u -r1.1 -r1.2 src/lib/libc/compat/locale/compat_setlocale1.c cvs rdiff -u -r1.20 -r1.21 src/lib/libc/locale/global_locale.c cvs rdiff -u -r1.21 -r1.22 src/lib/libc/locale/localeconv.c cvs rdiff -u -r1.6 -r1.7 src/lib/libc/locale/nb_lc_messages_misc.h \ src/lib/libc/locale/nb_lc_monetary_misc.h \ src/lib/libc/locale/nb_lc_numeric_misc.h cvs rdiff -u -r1.7 -r1.8 src/lib/libc/locale/nb_lc_template.h \ src/lib/libc/locale/nb_lc_time_misc.h cvs rdiff -u -r1.3 -r1.4 src/lib/libc/locale/nb_lc_template_decl.h cvs rdiff -u -r1.2 -r1.3 src/lib/libc/locale/newlocale.c cvs rdiff -u -r1.63 -r1.64 src/lib/libc/locale/setlocale.c cvs rdiff -u -r1.14 -r1.15 src/lib/libc/locale/setlocale_local.h Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.