On Mon, Aug 12, 2024, 11:04 Chet Ramey <chet.ra...@case.edu> wrote:

> My question is why the (admittedly old) gnulib replacement strtod/strtold
> is messing things up.
>

Looks like printf(3) gets called with a `Lf' conversation specifier and a
double argument.

diff --git a/builtins/printf.def b/builtins/printf.def
index 6549e718..d2feaf6b 100644
--- a/builtins/printf.def
+++ b/builtins/printf.def
@@ -782,7 +782,7 @@ printf_builtin (WORD_LIST *list)
                    floatmax_t p;

                    p = getfloatmax ();
-                   f = mklong (start, "L", 1);
+                   f = mklong (start, FLOATMAX_CONV, sizeof FLOATMAX_CONV
- 1);
                    PF (f, p);
                  }
                else /* posixly_correct */

Reply via email to