live-bootstrap/sysa/coreutils-5.0/patches/sort-locale.patch

38 lines
1.1 KiB
Diff

SPDX-FileCopyrightText: 2023 Emily Trau <emily@downunderctf.com>
SPDX-License-Identifier: GPL-2.0-or-later
strcoll() does not exist in mes libc, change it to strcmp.
hard_LC_COLLATE is used but not declared when HAVE_SETLOCALE is unset.
--- lib/memcoll.c
+++ lib/memcoll.c
@@ -47,7 +47,7 @@ memcoll (char *s1, size_t s1len, char *s2, size_t s2len)
s1[s1len++] = '\0';
s2[s2len++] = '\0';
- while (! (errno = 0, (diff = strcoll (s1, s2)) || errno))
+ while (! (errno = 0, (diff = strcmp (s1, s2)) || errno))
{
/* strcoll found no difference, but perhaps it was fooled by NUL
characters in the data. Work around this problem by advancing
--- src/sort.c
+++ src/sort.c
@@ -91,13 +91,13 @@ double strtod ();
#define NEGATION_SIGN '-'
#define NUMERIC_ZERO '0'
+/* Nonzero if the corresponding locales are hard. */
+static int hard_LC_COLLATE;
#if HAVE_SETLOCALE
static char decimal_point;
static int th_sep; /* if CHAR_MAX + 1, then there is no thousands separator */
-/* Nonzero if the corresponding locales are hard. */
-static int hard_LC_COLLATE;
# if HAVE_NL_LANGINFO
static int hard_LC_TIME;
# endif