summaryrefslogtreecommitdiffstats
path: root/bin/cat
diff options
context:
space:
mode:
authorache <ache@FreeBSD.org>1996-09-30 15:45:36 +0000
committerache <ache@FreeBSD.org>1996-09-30 15:45:36 +0000
commitb51662658395b9b6ce87d5b9b2a331644d4c78af (patch)
treec5bd50cd39ff3f7c959e0fabecb660743af35761 /bin/cat
parentdf70961c5a007cd5492e1494f0a05a0321d10379 (diff)
downloadFreeBSD-src-b51662658395b9b6ce87d5b9b2a331644d4c78af.zip
FreeBSD-src-b51662658395b9b6ce87d5b9b2a331644d4c78af.tar.gz
Activate LC_CTYPE locale and additionly use !isprint() for 8bit characters
Diffstat (limited to 'bin/cat')
-rw-r--r--bin/cat/cat.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/bin/cat/cat.c b/bin/cat/cat.c
index 1e8be46..73d77ef 100644
--- a/bin/cat/cat.c
+++ b/bin/cat/cat.c
@@ -33,7 +33,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: cat.c,v 1.3 1995/10/03 12:46:37 bde Exp $
+ * $Id: cat.c,v 1.4 1996/09/28 21:19:27 imp Exp $
*/
#ifndef lint
@@ -53,6 +53,7 @@ static char sccsid[] = "@(#)cat.c 8.2 (Berkeley) 4/27/95";
#include <err.h>
#include <errno.h>
#include <fcntl.h>
+#include <locale.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
@@ -75,6 +76,8 @@ main(argc, argv)
extern int optind;
int ch;
+ setlocale(LC_CTYPE, "");
+
while ((ch = getopt(argc, argv, "benstuv")) != EOF)
switch (ch) {
case 'b':
@@ -179,7 +182,7 @@ cook_buf(fp)
continue;
}
} else if (vflag) {
- if (!isascii(ch)) {
+ if (!isascii(ch) && !isprint(ch)) {
if (putchar('M') == EOF || putchar('-') == EOF)
break;
ch = toascii(ch);
OpenPOWER on IntegriCloud