X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fxmemcoll.c;h=d2ddc33d08a708860c59f470259339eaa565d123;hb=8d53196a5a3408315e6ed3410973d3bd16a8a3e9;hp=36958f4af494456647e6e2dea99e7636188edc79;hpb=9f31a7914f9d65fbc1225f503491dcc90e90c357;p=gnulib.git diff --git a/lib/xmemcoll.c b/lib/xmemcoll.c index 36958f4af..d2ddc33d0 100644 --- a/lib/xmemcoll.c +++ b/lib/xmemcoll.c @@ -31,9 +31,10 @@ #include "quotearg.h" #include "xmemcoll.h" -static inline void -collate_error (int collation_errno, const char *s1, size_t s1len, - const char *s2, size_t s2len) +static void +collate_error (int collation_errno, + char const *s1, size_t s1len, + char const *s2, size_t s2len) { error (0, collation_errno, _("string comparison failed")); error (0, 0, _("Set LC_ALL='C' to work around the problem.")); @@ -54,22 +55,21 @@ xmemcoll (char *s1, size_t s1len, char *s2, size_t s2len) { int diff = memcoll (s1, s1len, s2, s2len); int collation_errno = errno; - if (collation_errno) collate_error (collation_errno, s1, s1len, s2, s2len); - return diff; } -/* Like xmemcoll, but S1 and S2 are known to be NUL delimited, thus - no modifications to S1 and S2 are needed. */ +/* Compare S1 (with size S1SIZE) and S2 (with length S2SIZE) according + to the LC_COLLATE locale. S1 and S2 are both blocks of memory with + nonzero sizes, and the last byte in each block must be a null byte. + Report an error and exit if there is an error. */ int -xmemcoll0 (const char *s1, size_t s1len, const char *s2, size_t s2len) +xmemcoll0 (char const *s1, size_t s1len, char const *s2, size_t s2len) { int diff = memcoll0 (s1, s1len, s2, s2len); int collation_errno = errno; - if (collation_errno) collate_error (collation_errno, s1, s1len, s2, s2len); return diff;