svn commit: r301777 - head/lib/libc/stdio

Pedro F. Giffuni pfg at FreeBSD.org
Fri Jun 10 05:21:53 UTC 2016


Author: pfg
Date: Fri Jun 10 05:21:52 2016
New Revision: 301777
URL: https://svnweb.freebsd.org/changeset/base/301777

Log:
  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

Modified:
  head/lib/libc/stdio/vfscanf.c

Modified: head/lib/libc/stdio/vfscanf.c
==============================================================================
--- head/lib/libc/stdio/vfscanf.c	Fri Jun 10 04:04:55 2016	(r301776)
+++ head/lib/libc/stdio/vfscanf.c	Fri Jun 10 05:21:52 2016	(r301777)
@@ -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;
 			}


More information about the svn-src-all mailing list