diff options
Diffstat (limited to 'SOURCES/bash-3.2-printf.patch')
-rw-r--r-- | SOURCES/bash-3.2-printf.patch | 34 |
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; + } + |