[0/2] Make C/POSIX and C.UTF-8 consistent.

Message ID 20220131053442.3995804-1-carlos@redhat.com


Carlos O'Donell Jan. 31, 2022, 5:34 a.m. UTC
  We had a recent report from Michael Hudson-Doyle that he had seen a
problem with C.UTF-8 when running tests for rrdtool.  The report
prompted Florian to place this on the glibc 2.35 blocker for review.
Upon review I decided to haromize C.UTF-8 closer to C/POSIX and I
worked with Florian to fix the discrepancies between the C.UTF-8
locale and the builtin C/POSIX locale.  The work uncoverd a problem
in the parsing of LC_MONETARY by localedef which needed fixing in order
to make C/POSIX and C.UTF-8 consistent.  The first commit fixes the
mon_decimal_point handling in localedef parsing, while the second commit
fixes C.UTF-8 and adds a new test to check for consistency beween
C/POSIX and C.UTF-8.  The test is based on work that Florian Weimer did
to help me identify the inconsistencies between the locales.

Carlos O'Donell (2):
  localedef: Fix handling of empty mon_decimal_point
  localedata: Adjust C.UTF-8 to align with C/POSIX.

 locale/programs/ld-monetary.c       |   4 +-
 localedata/Makefile                 |  30 +-
 localedata/locales/C                |  22 +-
 localedata/tst-c-utf8-consistency.c | 539 ++++++++++++++++++++++++++++
 4 files changed, 579 insertions(+), 16 deletions(-)
 create mode 100644 localedata/tst-c-utf8-consistency.c