From tolik@sibptus.tomsk.ru Tue Sep 28 00:58:30 1999
Return-Path: <tolik@sibptus.tomsk.ru>
Received: from sibptus.tomsk.ru (sibptus.tomsk.ru [212.176.23.5])
	by hub.freebsd.org (Postfix) with ESMTP id 447F014A0D
	for <FreeBSD-gnats-submit@freebsd.org>; Tue, 28 Sep 1999 00:57:08 -0700 (PDT)
	(envelope-from tolik@sibptus.tomsk.ru)
Received: (from tolik@localhost)
	by sibptus.tomsk.ru (8.8.8/8.8.8) id PAA28332;
	Tue, 28 Sep 1999 15:56:40 +0800 (TSD)
	(envelope-from tolik)
Message-Id: <199909280756.PAA28332@sibptus.tomsk.ru>
Date: Tue, 28 Sep 1999 15:56:40 +0800 (TSD)
From: tolik@mpeks.tomsk.su
Sender: tolik@sibptus.tomsk.ru
Reply-To: tolik@mpeks.tomsk.su
To: FreeBSD-gnats-submit@freebsd.org
Subject: Unpredictable grep(1) output for 8-bit characters
X-Send-Pr-Version: 3.2

>Number:         14011
>Category:       gnu
>Synopsis:       grep(1) returned unpredictable output for 8-bit characters
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    ru
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Sep 28 01:00:00 PDT 1999
>Closed-Date:    Thu Oct 28 03:50:58 PDT 1999
>Last-Modified:  Thu Oct 28 03:52:53 PDT 1999
>Originator:     Anatoly A. Orehovsky
>Release:        FreeBSD 2.2.8-RELEASE i386 and others
>Organization:
SibPTUS
>Environment:

	FreeBSD box where russian (for example) locale is set.

>Description:

	If you wanted to search simple russian phrase with grep(1),
	then grep(1) returned unpredictable output.

>How-To-Repeat:

	$ export LANG=ru_RU.KOI8-R
	$ echo '27 ' | grep '27 ' # search '27 Sep' by russian

	and grep's output is nothing

	If input file contain many strings '27 ', then grep returned
	unpredictable output or nothing.

>Fix:
	
	Workaround:
	
	Using grep's -i option (if case sensitive not needed):
	$ export LANG=ru_RU.KOI8-R
	$ echo '27 ' | grep -i '27 '
	27 

	Patch to fix problem:

patch.092899:
--- grep/kwset.c.orig	Tue Sep 28 15:19:49 1999
+++ grep/kwset.c	Tue Sep 28 15:20:42 1999
@@ -527,7 +527,7 @@
 {
   struct kwset *kwset;
   register unsigned char *d1;
-  register char *ep, *sp, *tp;
+  register unsigned char *ep, *sp, *tp;
   register int d, gc, i, len, md2;
 
   kwset = (struct kwset *) kws;

__
Anatoly A. Orehovsky. AO9-RIPE. AAO1-RIPN
http://www.tekmetrics.com/transcript.shtml?pid=6064

>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-bugs->wosch 
Responsible-Changed-By: ru 
Responsible-Changed-When: Tue Sep 28 01:05:59 PDT 1999 
Responsible-Changed-Why:  
Over to the maintainer. 
Responsible-Changed-From-To: wosch->ru 
Responsible-Changed-By: ru 
Responsible-Changed-When: Wed Oct 13 04:41:26 PDT 1999 
Responsible-Changed-Why:  
Maintainer timeout. 
State-Changed-From-To: open->closed 
State-Changed-By: ru 
State-Changed-When: Thu Oct 28 03:50:58 PDT 1999 
State-Changed-Why:  
Fixed in both CURRENT and STABLE. 
>Unformatted:
