coreutils: printf formatting bug for nb_NO and nn_NO locales
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
GLibC |
Invalid
|
Medium
|
|||
coreutils (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
I just discovered a printf bug for at least the nb_NO and nn_NO locales when printing numbers with thousands separator. To reproduce:
#!/bin/bash
for l in de_DE en_US nb_NO ; do
echo "LC_NUMERIC=
for n in 1 100 1000 10000 100000 1000000 10000000 ; do
LC_
done
done
The expected output of "%'10d" is a right-formatted number string with 10 characters.
The output of the test script is fine for e.g. LC_NUMERIC=
LC_NUMERIC=
< 1>
< 100>
< 1.000>
< 10.000>
< 100.000>
< 1.000.000>
<10.000.000>
LC_NUMERIC=
< 1>
< 100>
< 1,000>
< 10,000>
< 100,000>
< 1,000,000>
<10,000,000>
However, for LC_NUMERIC=
LC_NUMERIC=
< 1>
< 100>
< 1 000>
< 10 000>
< 100 000>
<1 000 000>
<10 000 000>
LC_NUMERIC=
< 1>
< 100>
< 1 000>
< 10 000>
< 100 000>
<1 000 000>
<10 000 000>
I reproduced the issue with coreutils-
ProblemType: Bug
DistroRelease: Ubuntu 22.04
Package: coreutils 8.32-4.1ubuntu1.1
ProcVersionSign
Uname: Linux 6.5.0-26-generic x86_64
ApportVersion: 2.20.11-0ubuntu82.5
Architecture: amd64
CasperMD5CheckR
CurrentDesktop: KDE
Date: Fri Mar 22 21:33:13 2024
InstallationDate: Installed on 2022-11-29 (479 days ago)
InstallationMedia: Kubuntu 22.04.1 LTS "Jammy Jellyfish" - Release amd64 (20220809.1)
SourcePackage: coreutils
UpgradeStatus: No upgrade log present (probably fresh install)
Changed in coreutils: | |
importance: | Unknown → Medium |
status: | Unknown → New |
affects: | coreutils → glibc |
Changed in glibc: | |
status: | New → Invalid |
Launchpad suppresses the spaces, it seems. I attached a screenshot of the terminal output to display the formatting issue.