diff options
author | pfg <pfg@FreeBSD.org> | 2016-06-10 05:21:52 +0000 |
---|---|---|
committer | pfg <pfg@FreeBSD.org> | 2016-06-10 05:21:52 +0000 |
commit | b5adebd37b31c051f12f7a9628f0b63e981224db (patch) | |
tree | e279c2208260d29e56dcb69d5e87862837ec2f00 | |
parent | 53d0f4a2338c4905903474802d63eff468742ca9 (diff) | |
download | FreeBSD-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.c | 6 |
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; } |