git: printf(3)/scanf(3): Make ll and L length modifiers equivalent.
Sascha Wildner
swildner at crater.dragonflybsd.org
Mon Mar 21 01:30:33 PDT 2022
commit 839f7d6207d1654b664a46f2905d559773779bc3
Author: Sascha Wildner <saw at online.de>
Date: Mon Mar 21 09:29:17 2022 +0100
printf(3)/scanf(3): Make ll and L length modifiers equivalent.
POSIX defines L only for floating point numbers (long double) and ll only
for integer numbers (long long), leaving for example %Ld or %llg
undefined. GCC allows these non-portable combinations as an extension,
i.e. -Wformat will not warn about them unless -pedantic is passed.
To avoid surprises with Linux code, go with glibc and make ll and L
equivalent. For base code, we still prefer going with the standard, of
course.
Interestingly, the alternate printf(3) implementation in libc (enabled
by defining USE_XPRINTF in the environment) already treats them equally.
In-discussion-with: zrj
Summary of changes:
lib/libc/stdio/printf.3 | 24 +++++++++++++++++++++---
lib/libc/stdio/printflocal.h | 4 ++++
lib/libc/stdio/scanf.3 | 43 ++++++++++++++++++++++++++++++++++++++-----
lib/libc/stdio/vfscanf.c | 5 +++++
lib/libc/stdio/vfwscanf.c | 5 +++++
lib/libc/stdio/wprintf.3 | 24 +++++++++++++++++++++---
lib/libc/stdio/wscanf.3 | 43 ++++++++++++++++++++++++++++++++++++++-----
7 files changed, 132 insertions(+), 16 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/839f7d6207d1654b664a46f2905d559773779bc3
--
DragonFly BSD source repository
More information about the Commits
mailing list