Module Name: src
Committed By: christos
Date: Wed Feb 13 04:52:31 UTC 2013
Modified Files:
src/usr.bin/vis: vis.c
Log Message:
handle wide chars
To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.16 src/usr.bin/vis/vis.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/usr.bin/vis/vis.c
diff -u src/usr.bin/vis/vis.c:1.15 src/usr.bin/vis/vis.c:1.16
--- src/usr.bin/vis/vis.c:1.15 Wed Feb 11 01:42:31 2009
+++ src/usr.bin/vis/vis.c Tue Feb 12 23:52:31 2013
@@ -1,4 +1,4 @@
-/* $NetBSD: vis.c,v 1.15 2009/02/11 06:42:31 wiz Exp $ */
+/* $NetBSD: vis.c,v 1.16 2013/02/13 04:52:31 christos Exp $ */
/*-
* Copyright (c) 1989, 1993
@@ -39,12 +39,13 @@ __COPYRIGHT("@(#) Copyright (c) 1989, 19
#if 0
static char sccsid[] = "@(#)vis.c 8.1 (Berkeley) 6/6/93";
#endif
-__RCSID("$NetBSD: vis.c,v 1.15 2009/02/11 06:42:31 wiz Exp $");
+__RCSID("$NetBSD: vis.c,v 1.16 2013/02/13 04:52:31 christos Exp $");
#endif /* not lint */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
+#include <wchar.h>
#include <unistd.h>
#include <err.h>
#include <vis.h>
@@ -157,12 +158,12 @@ process(FILE *fp)
static int col = 0;
static char nul[] = "\0";
char *cp = nul + 1; /* so *(cp-1) starts out != '\n' */
- int c, rachar;
+ wint_t c, rachar;
char buff[5];
- c = getc(fp);
+ c = getwc(fp);
while (c != EOF) {
- rachar = getc(fp);
+ rachar = getwc(fp);
if (none) {
cp = buff;
*cp++ = c;
@@ -177,9 +178,9 @@ process(FILE *fp)
*cp++ = '\n';
*cp = '\0';
} else if (extra)
- (void)svis(buff, (char)c, eflags, (char)rachar, extra);
+ (void)svis(buff, c, eflags, rachar, extra);
else
- (void)vis(buff, (char)c, eflags, (char)rachar);
+ (void)vis(buff, c, eflags, rachar);
cp = buff;
if (fold) {