mirror of
https://git.savannah.gnu.org/git/coreutils.git
synced 2025-09-10 07:59:52 +02:00
sort: fix thousands grouping handling on single byte locales
* gl/lib/strnumcmp-in.h (numcompare): After commit v9.0-8-g6cafb122f, we need to treat characters as signed to avoid invalid comparisons between negative integers and unsigned characters. * NEWS: Mention the bug fix.
This commit is contained in:
5
NEWS
5
NEWS
@@ -16,6 +16,11 @@ GNU coreutils NEWS -*- outline -*-
|
||||
numfmt options like --suffix no longer have an arbitrary 127-byte limit.
|
||||
[bug introduced with numfmt in coreutils-8.21]
|
||||
|
||||
sort again handles thousands grouping characters in single-byte locales
|
||||
where the grouping character is greater than CHAR_MAX. For e.g. signed
|
||||
character platforms with a 0xA0 (aka  ) grouping character.
|
||||
[bug introduced in coreutils-9.1]
|
||||
|
||||
tail no longer mishandles input from files in /proc and /sys file systems,
|
||||
on systems with a page size larger than the stdio BUFSIZ.
|
||||
[This bug was present in "the beginning".]
|
||||
|
||||
@@ -114,8 +114,8 @@ static inline int _GL_ATTRIBUTE_PURE
|
||||
numcompare (char const *a, char const *b,
|
||||
int decimal_point, int thousands_sep)
|
||||
{
|
||||
unsigned char tmpa = *a;
|
||||
unsigned char tmpb = *b;
|
||||
char tmpa = *a;
|
||||
char tmpb = *b;
|
||||
int tmp;
|
||||
size_t log_a;
|
||||
size_t log_b;
|
||||
|
||||
Reference in New Issue
Block a user