diff options
Diffstat (limited to 'SOURCES/bash-3.0-warn-locale.patch')
-rw-r--r-- | SOURCES/bash-3.0-warn-locale.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/SOURCES/bash-3.0-warn-locale.patch b/SOURCES/bash-3.0-warn-locale.patch new file mode 100644 index 0000000..1773510 --- /dev/null +++ b/SOURCES/bash-3.0-warn-locale.patch @@ -0,0 +1,31 @@ +Index: locale.c +=================================================================== +--- locale.c.orig ++++ locale.c +@@ -29,6 +29,10 @@ + #include "bashintl.h" + #include "bashansi.h" + #include <stdio.h> ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <unistd.h> ++#include <errno.h> + #include "chartypes.h" + #include <errno.h> + +@@ -68,6 +72,15 @@ void + set_default_locale () + { + #if defined (HAVE_SETLOCALE) ++ struct stat st; ++ ++ if (stat("/usr/lib/locale/locale-archive", &st) == 0 && st.st_size == 0) { ++ errno = EINVAL; ++ sys_error("set_default_locale: broken locale"); ++ fprintf (stderr, "%s: Please remove /usr/lib/locale/locale-archive\n", ++ get_name_for_error()); ++ sleep(1); ++ } + default_locale = setlocale (LC_ALL, ""); + if (default_locale) + default_locale = savestring (default_locale); |