summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorpfg <pfg@FreeBSD.org>2016-06-10 05:21:52 +0000
committerpfg <pfg@FreeBSD.org>2016-06-10 05:21:52 +0000
commitb5adebd37b31c051f12f7a9628f0b63e981224db (patch)
treee279c2208260d29e56dcb69d5e87862837ec2f00
parent53d0f4a2338c4905903474802d63eff468742ca9 (diff)
downloadFreeBSD-src-b5adebd37b31c051f12f7a9628f0b63e981224db.zip
FreeBSD-src-b5adebd37b31c051f12f7a9628f0b63e981224db.tar.gz
Fix regression from r301461.
The fix to the __collate_range_cmp() ABI breakage missed some replacements in libc's vfscanf(). Replace them with __wcollate_range_cmp() which does what is expected. This was breaking applications like xterm and pidgin when using wide characters. Reported by: Vitalij Satanivskij Approved by: re
-rw-r--r--lib/libc/stdio/vfscanf.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/libc/stdio/vfscanf.c b/lib/libc/stdio/vfscanf.c
index e94e3bd..e09a5b2 100644
--- a/lib/libc/stdio/vfscanf.c
+++ b/lib/libc/stdio/vfscanf.c
@@ -873,7 +873,7 @@ doswitch:
n = *fmt;
if (n == ']'
|| (table->__collate_load_error ? n < c :
- __collate_range_cmp (table, n, c) < 0
+ __wcollate_range_cmp(table, n, c) < 0
)
) {
c = '-';
@@ -887,8 +887,8 @@ doswitch:
} while (c < n);
} else {
for (i = 0; i < 256; i ++)
- if ( __collate_range_cmp (table, c, i) < 0
- && __collate_range_cmp (table, i, n) <= 0
+ if (__wcollate_range_cmp(table, c, i) < 0 &&
+ __wcollate_range_cmp(table, i, n) <= 0
)
tab[i] = v;
}
OpenPOWER on IntegriCloud