Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Aug 2013 17:13:29 +0000 (UTC)
From:      "Andrey A. Chernov" <ache@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-9@freebsd.org
Subject:   svn commit: r253888 - stable/9/usr.bin/grep/regex
Message-ID:  <201308021713.r72HDT0j006559@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ache
Date: Fri Aug  2 17:13:29 2013
New Revision: 253888
URL: http://svnweb.freebsd.org/changeset/base/253888

Log:
  MFC r253810
  
  grep -i does not work for simple patterns and single byte locales, like
  	LANG=ru_RU.KOI8-R grep -i <some single KOI8-R letter>
  Fix it.
  
  Approved by:    re (delphij,kib)

Modified:
  stable/9/usr.bin/grep/regex/tre-fastmatch.c
Directory Properties:
  stable/9/usr.bin/grep/   (props changed)

Modified: stable/9/usr.bin/grep/regex/tre-fastmatch.c
==============================================================================
--- stable/9/usr.bin/grep/regex/tre-fastmatch.c	Fri Aug  2 14:44:11 2013	(r253887)
+++ stable/9/usr.bin/grep/regex/tre-fastmatch.c	Fri Aug  2 17:13:29 2013	(r253888)
@@ -395,7 +395,7 @@ static int	fastcmp(const fastmatch_t *fg
 	    if (p == NULL)						\
 	      return REG_ESPACE;					\
 	    for (unsigned int i = 0; i < plen; i++)			\
-	      p[i] = tolower(pat[i]);					\
+	      p[i] = tolower((unsigned char)pat[i]);                    \
 	    _CALC_BMGS(arr, p, plen);					\
 	    xfree(p);							\
 	  }								\
@@ -1030,7 +1030,7 @@ fastcmp(const fastmatch_t *fg, const voi
 	    continue;
 
 	  /* Compare */
-	  if (fg->icase ? (tolower(pat_byte[i]) == tolower(str_byte[i]))
+	  if (fg->icase ? (tolower((unsigned char)pat_byte[i]) == tolower((unsigned char)str_byte[i]))
 		    : (pat_byte[i] == str_byte[i]))
 	  continue;
       }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201308021713.r72HDT0j006559>