File bash-3.2-printf.patch of Package bash-5v2
---
builtins/printf.def | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
Index: builtins/printf.def
===================================================================
--- builtins/printf.def.orig
+++ builtins/printf.def
@@ -56,6 +56,7 @@ error occurs.
$END
#include <config.h>
+#include <locale.h>
#include "../bashtypes.h"
@@ -700,7 +701,10 @@ printf_builtin (list)
case 'A':
#endif
{
- char *f;
+ char *f, *lce = getenv("LC_NUMERIC"), *lcl = setlocale(LC_NUMERIC, NULL);
+
+ if (lce && lcl)
+ setlocale(LC_NUMERIC, lce);
if (use_Lmod || posixly_correct == 0)
{
@@ -719,6 +723,9 @@ printf_builtin (list)
PF (f, p);
}
+ if (lce && lcl)
+ setlocale(LC_NUMERIC, lcl);
+
break;
}