mirror of
https://abf.rosa.ru/djam/glibc.git
synced 2025-02-23 15:02:47 +00:00
19 lines
917 B
Diff
19 lines
917 B
Diff
![]() |
localedef --add-to-archive doesn't follow symbolic links, thus if you have any
|
||
|
locale with symlinked files to save disk space, for example:
|
||
|
/usr/share/locale/pt_BR/LC_CTYPE -> ../ISO-8859-1/LC_CTYPE
|
||
|
"localedef --add-to-archive /usr/share/locale/pt_BR" will not work, because
|
||
|
current locarchive.c code doesn't consider symlink case.
|
||
|
|
||
|
diff -p -up glibc-2.11.1/locale/programs/locarchive.c.orig glibc-2.11.1/locale/programs/locarchive.c
|
||
|
--- glibc-2.11.1/locale/programs/locarchive.c.orig 2010-04-08 14:10:46.515770746 -0300
|
||
|
+++ glibc-2.11.1/locale/programs/locarchive.c 2010-04-08 14:11:55.587520585 -0300
|
||
|
@@ -1323,7 +1323,7 @@ add_locales_to_archive (nlist, list, rep
|
||
|
char fullname[fnamelen + 2 * strlen (d->d_name) + 7];
|
||
|
|
||
|
#ifdef _DIRENT_HAVE_D_TYPE
|
||
|
- if (d_type == DT_UNKNOWN)
|
||
|
+ if (d_type == DT_UNKNOWN || d_type == DT_LNK)
|
||
|
#endif
|
||
|
{
|
||
|
strcpy (stpcpy (stpcpy (fullname, fname), "/"),
|