From ah@alvman.RoBIN.de  Mon May  5 04:22:01 1997
Received: from alvman.RoBIN.de (bambam.RoBIN.de [193.174.7.150])
          by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id EAA19124
          for <FreeBSD-gnats-submit@freebsd.org>; Mon, 5 May 1997 04:21:58 -0700 (PDT)
Received: (from ah@localhost) by alvman.RoBIN.de (8.8.3/8.6.9) id NAA07496; Mon, 5 May 1997 13:26:44 +0200 (MET DST)
Message-Id: <199705051126.NAA07496@alvman.RoBIN.de>
Date: Mon, 5 May 1997 13:26:44 +0200 (MET DST)
From: Andreas Haakh <ah@alvman.RoBIN.de>
Reply-To: ah@alvman.RoBIN.de
To: FreeBSD-gnats-submit@freebsd.org
Subject: bin
X-Send-Pr-Version: 3.2

>Number:         3506
>Category:       bin
>Synopsis:       [PATCH] more did not show iso-8859-n characters
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May  5 04:30:01 PDT 1997
>Closed-Date:    Fri May 21 16:15:36 PDT 1999
>Last-Modified:  Fri May 21 16:16:22 PDT 1999
>Originator:     Andreas Haakh
>Release:        FreeBSD 2.1.6-RELEASE i386
>Organization:
Andreas Haakh  *  Steinackerstr. 6  *  64285 Darmstadt  *  ah@alvman.RoBIN.de
http://www.RoBIN.de fr privaten Internet-Zugang in Darmstadt/Rdermark
http://www.FreeBSD.org freies Berkley-Unix fr Intel-Architektur(>=80386).
>Environment:


>Description:

	More did not display iso-8859-n characters. Instead they were 
	converted to ^something.

>How-To-Repeat:

	Just page some code containig german special characters

>Fix:
	
	I included a call to setlocale and corrected one line in less.h 
	in the following patch

diff -rC3 more/less.h more.new/less.h
*** more/less.h	Mon May  5 13:12:51 1997
--- more.new/less.h	Mon May  5 13:05:20 1997
***************
*** 47,53 ****
  #define	BO_CHAR		'\203'		/* Enter boldface mode */
  #define	BE_CHAR		'\204'		/* Exit boldface mode */
  
! #define CONTROL_CHAR(c)         (!isprint(c))
  #define	CARAT_CHAR(c)		((c == '\177') ? '?' : (c | 0100))
  
  #define	TOP		(0)
--- 47,53 ----
  #define	BO_CHAR		'\203'		/* Enter boldface mode */
  #define	BE_CHAR		'\204'		/* Exit boldface mode */
  
! #define CONTROL_CHAR(c)         (iscntrl(c))
  #define	CARAT_CHAR(c)		((c == '\177') ? '?' : (c | 0100))
  
  #define	TOP		(0)
diff -rC3 more/main.c more.new/main.c
*** more/main.c	Mon May  5 13:12:30 1997
--- more.new/main.c	Mon May  5 12:54:31 1997
***************
*** 51,56 ****
--- 51,57 ----
  #include <sys/file.h>
  #include <stdio.h>
  #include <less.h>
+ #include <locale.h>
  
  int	ispipe;
  int	new_file;
***************
*** 251,256 ****
--- 252,259 ----
  {
  	int envargc, argcnt;
  	char *envargv[2], *getenv();
+ 
+ 	(void)setlocale(LC_ALL, ""); 
  
  	/*
  	 * Process command line arguments and MORE environment arguments.
>
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: jmz 
State-Changed-When: Fri May 21 16:15:36 PDT 1999 
State-Changed-Why:  
Fixed in -current. 
>Unformatted:
