mirror of
https://sourceware.org/git/glibc.git
synced 2025-08-08 17:42:12 +03:00
* locale/lc-time.c (_nl_init_era_entries, _nl_get_era_entry,
_nl_select_era_entry): Moved to ... * time/era.c: ... here, new file. (_nl_init_era_entries, _nl_get_era_entry, _nl_select_era_entry): Add internal_function to definitions. Take an additional argument giving the `struct locale_data *' to use. * locale/lc-time.c (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Moved to ... * time/alt_digit.c: ... here, new file. * time/lc-time-cleanup.c: New file. * locale/lc-time.c (_nl_postload_time, free_mem): Functions removed. * locale/localeinfo.h (_nl_postload_time): Remove decl. (_nl_cleanup_time): Declare it. (_nl_get_era_entry, _nl_select_era_entry): Update decls. (_get_alt_digit, _nl_get_walt_digit, _nl_parse_alt_digit): Likewise. * time/Makefile (aux): New variable: era, alt_digit, lc-time-cleanup. * time/strftime.c: Pass locale data to helper functions. * time/strptime.c: Likewise. * locale/localeinfo.h (struct locale_data): New member `private' * locale/loadlocale.c (_nl_intern_locale_data): Initialize it. (_nl_unload_locale): Call LOCALE->private.cleanup if it is set. * locale/C-collate.c: Update initializer. * locale/C-identification.c: Likewise. * locale/C-measurement.c: Likewise. * locale/C-telephone.c: Likewise. * locale/C-address.c: Likewise. * locale/C-name.c: Likewise. * locale/C-paper.c: Likewise. * locale/C-time.c: Likewise. * locale/C-numeric.c: Likewise. * locale/C-monetary.c: Likewise. * locale/C-messages.c : Likewise. * locale/C-ctype.c: Likewise. * time/strptime.c [USE_IN_EXTENDED_LOCALE_MODEL] (_NL_CURRENT_WORD): Redefine this too.
This commit is contained in:
@@ -99,6 +99,8 @@ _nl_intern_locale_data (int category, const void *data, size_t datasize)
|
||||
|
||||
newdata->filedata = (void *) filedata;
|
||||
newdata->filesize = datasize;
|
||||
newdata->private.data = NULL;
|
||||
newdata->private.cleanup = NULL;
|
||||
newdata->usage_count = 0;
|
||||
newdata->use_translit = 0;
|
||||
newdata->nstrings = filedata->nstrings;
|
||||
@@ -251,6 +253,9 @@ void
|
||||
internal_function
|
||||
_nl_unload_locale (struct locale_data *locale)
|
||||
{
|
||||
if (locale->private.cleanup)
|
||||
(*locale->private.cleanup) (locale);
|
||||
|
||||
switch (__builtin_expect (locale->alloc, ld_mapped))
|
||||
{
|
||||
case ld_malloced:
|
||||
|
Reference in New Issue
Block a user