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 */