diff options
author | Ulrich Drepper <drepper@redhat.com> | 2002-11-05 19:21:56 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2002-11-05 19:21:56 +0000 |
commit | f6e50e66ad9e75627caf800e0f0f24efac28e456 (patch) | |
tree | d6525169f3eb4c78e46250829c343b73e852a20d /locale/loadarchive.c | |
parent | 52a16e580103729ad0cc228b564a811a7a19cc8d (diff) | |
download | glibc-f6e50e66ad9e75627caf800e0f0f24efac28e456.tar.gz glibc-f6e50e66ad9e75627caf800e0f0f24efac28e456.tar.xz glibc-f6e50e66ad9e75627caf800e0f0f24efac28e456.zip |
Update.
2002-11-05 Jakub Jelinek <jakub@redhat.com> * iconv/gconv_dl.c (free_mem): Clear loaded. * locale/loadarchive.c (_nl_archive_subfreeres): Call locale_data's cleanup if any. * sysdeps/unix/sysv/linux/fexecve.c: Include <stdio.h>.
Diffstat (limited to 'locale/loadarchive.c')
-rw-r--r-- | locale/loadarchive.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/locale/loadarchive.c b/locale/loadarchive.c index dbb4d7afd5..3fddc7d05b 100644 --- a/locale/loadarchive.c +++ b/locale/loadarchive.c @@ -510,8 +510,13 @@ _nl_archive_subfreeres (void) free (dead->name); for (category = 0; category < __LC_LAST; ++category) if (category != LC_ALL) - /* _nl_unload_locale just does this free for the archive case. */ - free (dead->data[category]); + { + /* _nl_unload_locale just does this free for the archive case. */ + if (dead->data[category]->private.cleanup) + (*dead->data[category]->private.cleanup) (dead->data[category]); + + free (dead->data[category]); + } free (dead); } archloaded = NULL; |