SHA256
3
0
forked from pool/bash
bash/bash-3.0-warn-locale.patch

30 lines
780 B
Diff
Raw Normal View History

--- locale.c
+++ locale.c 2004-09-03 10:56:10.000000000 +0000
@@ -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);