summaryrefslogtreecommitdiffstats
path: root/SOURCES/bash-3.2-printf.patch
diff options
context:
space:
mode:
authorPete Travis <immanetize@fedoraproject.org>2014-10-01 11:59:35 -0600
committerPete Travis <immanetize@fedoraproject.org>2014-10-01 11:59:35 -0600
commit4a895d111d1b13ddb624a8d055d217e695361447 (patch)
tree03c8d4640a38d58fbdc5c8ef5458a2613f55e3fb /SOURCES/bash-3.2-printf.patch
parentf5afed3fb60ea2a362cfd696b9edf259ca33e1da (diff)
downloadrpmbuild-sles11.2-bash.tar.gz
rpmbuild-sles11.2-bash.tar.xz
rpmbuild-sles11.2-bash.zip
sles 11.2 bash, in wholesles11.2-bash
Diffstat (limited to 'SOURCES/bash-3.2-printf.patch')
-rw-r--r--SOURCES/bash-3.2-printf.patch34
1 files changed, 34 insertions, 0 deletions
diff --git a/SOURCES/bash-3.2-printf.patch b/SOURCES/bash-3.2-printf.patch
new file mode 100644
index 0000000..65cfa06
--- /dev/null
+++ b/SOURCES/bash-3.2-printf.patch
@@ -0,0 +1,34 @@
+Index: builtins/printf.def
+===================================================================
+--- builtins/printf.def.orig
++++ builtins/printf.def
+@@ -47,6 +47,7 @@ error occurs.
+ $END
+
+ #include <config.h>
++#include <locale.h>
+
+ #include "../bashtypes.h"
+
+@@ -529,12 +530,20 @@ printf_builtin (list)
+ case 'A':
+ #endif
+ {
+- char *f;
++ char *f, *lce = getenv("LC_NUMERIC"), *lcl = setlocale(LC_NUMERIC, NULL);
+ floatmax_t p;
+
+ p = getfloatmax ();
+ f = mklong (start, FLOATMAX_CONV, sizeof(FLOATMAX_CONV) - 1);
++
++ if (lce && lcl)
++ setlocale(LC_NUMERIC, lce);
++
+ PF (f, p);
++
++ if (lce && lcl)
++ setlocale(LC_NUMERIC, lcl);
++
+ break;
+ }
+