commit 134ea56bac17a42cf71742807a50f4ca4ac72474
parent b234c5153b5f12b82dceefd04865213554a875da
Author: Bert Münnich <ber.t@posteo.de>
Date: Sat, 28 Nov 2015 16:41:21 +0100
Set LC_CTYPE after reading ~/.rcrc
rc does not handle umlauts correctly, if locale environment variables are first
set in ~/.rcrc. It is necessary to update the environment before calling
setlocale(3) because it would otherwise not see the variable values assigned in
~/.rcrc.
Diffstat:
1 file changed, 5 insertions(+), 0 deletions(-)
diff --git a/main.c b/main.c
@@ -3,9 +3,12 @@
#include "rc.h"
#include <errno.h>
+#include <locale.h>
#include "input.h"
+extern char **environ;
+
bool dashdee, dashee, dasheye, dashell, dashen;
bool dashpee, dashoh, dashess, dashvee, dashex;
bool interactive;
@@ -120,6 +123,8 @@ quitopts:
close(fd);
}
}
+ environ = makeenv();
+ setlocale(LC_CTYPE, "");
if (dashsee[0] != NULL || dashess) { /* input from -c or -s? */
if (*argv != NULL)