svn commit: r302832 - head/contrib/libgnuregex

Andrey A. Chernov ache at FreeBSD.org
Thu Jul 14 09:45:09 UTC 2016


Author: ache
Date: Thu Jul 14 09:45:07 2016
New Revision: 302832
URL: https://svnweb.freebsd.org/changeset/base/302832

Log:
  Back out non-collating [a-z] ranges.
  Instead of changing the whole course to another POSIX-permitted way
  for consistency and uniformity I decide to completely ignore missing
  regex fucntionality and focus on fixing bugs in what we have now,
  too many small obstacles we have choicing other way, counting ports.
  Corresponding libc changes are backed out in r302824.

Modified:
  head/contrib/libgnuregex/regcomp.c
  head/contrib/libgnuregex/regexec.c

Modified: head/contrib/libgnuregex/regcomp.c
==============================================================================
--- head/contrib/libgnuregex/regcomp.c	Thu Jul 14 09:40:42 2016	(r302831)
+++ head/contrib/libgnuregex/regcomp.c	Thu Jul 14 09:45:07 2016	(r302832)
@@ -2664,11 +2664,7 @@ build_range_exp (bitset_t sbcset, bracke
       return REG_ECOLLATE;
     cmp_buf[0] = start_wc;
     cmp_buf[4] = end_wc;
-#ifdef __FreeBSD__
-    if (wcscmp (cmp_buf, cmp_buf + 4) > 0)
-#else
     if (wcscoll (cmp_buf, cmp_buf + 4) > 0)
-#endif
       return REG_ERANGE;
 
     /* Got valid collation sequence values, add them as a new entry.
@@ -2710,13 +2706,8 @@ build_range_exp (bitset_t sbcset, bracke
     for (wc = 0; wc < SBC_MAX; ++wc)
       {
 	cmp_buf[2] = wc;
-#ifdef __FreeBSD__
-	if (wcscmp (cmp_buf, cmp_buf + 2) <= 0
-	    && wcscmp (cmp_buf + 2, cmp_buf + 4) <= 0)
-#else
 	if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
 	    && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
-#endif
 	  bitset_set (sbcset, wc);
       }
   }

Modified: head/contrib/libgnuregex/regexec.c
==============================================================================
--- head/contrib/libgnuregex/regexec.c	Thu Jul 14 09:40:42 2016	(r302831)
+++ head/contrib/libgnuregex/regexec.c	Thu Jul 14 09:45:07 2016	(r302832)
@@ -3964,13 +3964,8 @@ check_node_accept_bytes (const re_dfa_t 
 	    {
 	      cmp_buf[0] = cset->range_starts[i];
 	      cmp_buf[4] = cset->range_ends[i];
-#ifdef __FreeBSD__
-	      if (wcscmp (cmp_buf, cmp_buf + 2) <= 0
-		  && wcscmp (cmp_buf + 2, cmp_buf + 4) <= 0)
-#else
 	      if (wcscoll (cmp_buf, cmp_buf + 2) <= 0
 		  && wcscoll (cmp_buf + 2, cmp_buf + 4) <= 0)
-#endif
 		{
 		  match_len = char_len;
 		  goto check_node_accept_bytes_match;


More information about the svn-src-head mailing list