mirror of
git://git.sv.gnu.org/coreutils.git
synced 2026-02-10 17:31:56 +02:00
numfmt: use multi-byte aware suffix matching
* src/numfmt.c (process_suffixed_number): Use gnulib's mbs_endswith() helper, which is more robust in non UTF-8 locales. Also always output a devmsg if a suffix is specified.
This commit is contained in:
@@ -173,6 +173,7 @@ gnulib_modules="
|
||||
mbrlen
|
||||
mbrtoc32
|
||||
mbrtowc
|
||||
mbs_endswith
|
||||
mbschr
|
||||
mbslen
|
||||
mbswidth
|
||||
|
||||
@@ -1326,14 +1326,11 @@ static int
|
||||
process_suffixed_number (char *text, long double *result,
|
||||
size_t *precision, long int field)
|
||||
{
|
||||
if (suffix && strlen (text) > strlen (suffix))
|
||||
if (suffix)
|
||||
{
|
||||
char *possible_suffix = text + strlen (text) - strlen (suffix);
|
||||
|
||||
if (streq (suffix, possible_suffix))
|
||||
if (mbs_endswith (text, suffix))
|
||||
{
|
||||
/* trim suffix, ONLY if it's at the end of the text. */
|
||||
*possible_suffix = '\0';
|
||||
*(text + strlen (text) - strlen (suffix)) = '\0';
|
||||
devmsg ("trimming suffix %s\n", quote (suffix));
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user