From owner-FreeBSD-users-jp@jp.freebsd.org  Wed Dec 13 15:03:23 2000
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id PAA48334;
	Wed, 13 Dec 2000 15:03:23 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from tkc.att.ne.jp (tkc.att.ne.jp [165.76.16.7])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id PAA48329
	for <FreeBSD-users-jp@jp.freebsd.org>; Wed, 13 Dec 2000 15:03:22 +0900 (JST)
	(envelope-from mzaki@e-mail.ne.jp)
Received: from work.mzaki.nom (125.pool12.ipctokyo.att.ne.jp [165.76.248.125]) by tkc.att.ne.jp (8.8.8+Spin/3.6W-CONS(10/06/00)) id PAA08734; Wed, 13 Dec 2000 15:03:21 +0900 (JST)
Date: Wed, 13 Dec 2000 15:03:29 +0900
Message-ID: <86n1e0q2mm.wl@tkc.att.ne.jp>
From: Motomichi Matsuzaki <mzaki@e-mail.ne.jp>
To: FreeBSD-users-jp@jp.freebsd.org
In-Reply-To: In your message of "Wed, 13 Dec 2000 13:54:21 +0900"
	<86elzcgbuq.wl@tkc.att.ne.jp>
References: <86r93dsmvg.wl@tkc.att.ne.jp>
	<200012130111.KAA08009@pon.nintendo.co.jp>
	<86elzcgbuq.wl@tkc.att.ne.jp>
X-Mailer: Wanderlust/1.1.1 (Purple Rain) XEmacs/21.1 (Channel Islands)
MIME-Version: 1.0 (generated by WEMI 1.13.7 - "Shimada")
Content-Type: text/plain; charset=ISO-2022-JP
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 57510
Subject: [FreeBSD-users-jp 57510] Re: msdosfs
 =?ISO-2022-JP?B?GyRCJE5GfEtcOGxJPTwoJCwkRyQtJF4kOyRzGyhC?= 
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: mzaki@e-mail.ne.jp


$B>>:j$G$9(B

At Wed, 13 Dec 2000 13:54:21 +0900,
Motomichi Matsuzaki <mzaki@e-mail.ne.jp> wrote:
> $B$=$l$+$i@h$N%a!<%k$G!VJ8;z2=$1$9$k!W$H=q$$$?$N$O!"(B
> $B0lJ8;zL\$,(B isprint() $B$G!"FsJ8;zL\$,(B !isprint() $B$N$H$-$G$7$?!#(B

$B$"$^$jNI$$J}K!$H$O8@$($J$$(B(*)$B$N$G$9$,!"(B
$B$3$l$KBP=h$9$k%Q%C%A$G$9!#(B

(*) isprint() $B$d(B isascii() $B$r(B rune_t $B$KBP$7$F;H$C$F$$$$$H$$$&(B
    $BJ]>Z$O$J$/!"7k2LE*$KF0:n$7$F$$$k$@$1$@$+$i(B


--- bin/ls/util.c.orig	Sun Jul 23 06:00:15 2000
+++ bin/ls/util.c.new	Wed Dec 13 14:44:50 2000
@@ -47,6 +47,8 @@
 #include <sys/stat.h>
 
 #include <ctype.h>
+#include <rune.h>
+#include <limits.h>
 #include <err.h>
 #include <fts.h>
 #include <stdio.h>
@@ -60,14 +62,16 @@
 prn_printable(s)
 	const char *s;
 {
-	unsigned char c;
+	rune_t c;
 	int n;
+	const char *str;
 
-	for (n = 0; (c = *s) != '\0'; ++s, ++n)
-		if (isprint(c))
-			putchar(c);
-		else
-			putchar('?');
+	for (str = s, n = 0; *str != '\0'; ) {
+		c = sgetrune(str, MB_LEN_MAX, &str);
+		c = (isprint(c) || !isascii(c)) ? c : '?';
+		fputrune(c, stdout);
+		n = str - s;
+	}
 	return n;
 }

-- 
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+
|  $B>>:j(B $BAGF;(B (Motomichi Matsuzaki/maki)    mailto:mzaki@e-mail.ne.jp  |
|          $BEl5~Bg3XBg3X1!(B $BM}3X7O8&5f2J(B $B@8J*2J3X@l96(B $BH/@8@8J*3X8&5f<<(B  |
+-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+

