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
This commit is contained in:
Pedro F. Giffuni 2016-06-10 05:21:52 +00:00
parent ca94cc3b74
commit b2f8f05c89
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=301777

View File

@ -873,7 +873,7 @@ __sccl(char *tab, const u_char *fmt)
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 @@ __sccl(char *tab, const u_char *fmt)
} 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;
}