X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fxmemcoll.c;h=56f1871d2355e4c0ac48a26415abd0e61340f208;hb=395f9e6a19b504609aa8b0bd7f8cc55d4547d8dd;hp=d2ddc33d08a708860c59f470259339eaa565d123;hpb=444cc405e1ad5afea49c9757be5a2c31c81804b6;p=gnulib.git diff --git a/lib/xmemcoll.c b/lib/xmemcoll.c index d2ddc33d0..56f1871d2 100644 --- a/lib/xmemcoll.c +++ b/lib/xmemcoll.c @@ -1,6 +1,6 @@ /* Locale-specific memory comparison. - Copyright (C) 2002-2004, 2006, 2009-2010 Free Software Foundation, Inc. + Copyright (C) 2002-2004, 2006, 2009-2011 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -60,17 +60,17 @@ xmemcoll (char *s1, size_t s1len, char *s2, size_t s2len) return diff; } -/* 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. +/* Compare S1 (a memory block of size S1SIZE, with a NUL as last byte) + and S2 (a memory block of size S2SIZE, with a NUL as last byte) + according to the LC_COLLATE locale. S1SIZE and S2SIZE must be > 0. Report an error and exit if there is an error. */ int -xmemcoll0 (char const *s1, size_t s1len, char const *s2, size_t s2len) +xmemcoll0 (char const *s1, size_t s1size, char const *s2, size_t s2size) { - int diff = memcoll0 (s1, s1len, s2, s2len); + int diff = memcoll0 (s1, s1size, s2, s2size); int collation_errno = errno; if (collation_errno) - collate_error (collation_errno, s1, s1len, s2, s2len); + collate_error (collation_errno, s1, s1size - 1, s2, s2size - 1); return diff; }