From owner-FreeBSD-users-jp@jp.FreeBSD.org Sat Sep  1 17:28:10 2012
Received: (from daemon@localhost)
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) id q818SAS10832;
	Sat, 1 Sep 2012 17:28:10 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from smtp.chive.ocn.ne.jp (chive.ocn.ne.jp [60.37.40.170])
	by castle.jp.FreeBSD.org (8.11.6p2+3.4W/8.11.3) with ESMTP/inet id q818S9G10827
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat, 1 Sep 2012 17:28:09 +0900 (JST)
	(envelope-from typer_jp@yahoo.co.jp)
Received: from pen4.private (p12205-ipngn100106matsue.shimane.ocn.ne.jp [153.130.149.205])
	by smtp.chive.ocn.ne.jp (Postfix) with SMTP id A4A5C2ED3
	for <FreeBSD-users-jp@jp.FreeBSD.org>; Sat,  1 Sep 2012 17:28:08 +0900 (JST)
From: "N.Katoh" <typer_jp@yahoo.co.jp>
To: FreeBSD-users-jp@jp.FreeBSD.org
In-Reply-To: <20120831160917.761A82FE8@smtp.chive.ocn.ne.jp>
References: <26446.1346380666@pf2.ed.niigata-u.ac.jp>
	<20120831.191722.432845525.satosi.kimura@nifty.com>
	<86a9xbi9yv.wl%md440@luna.wak2.jp>
	<20120831.212231.465788726.satosi.kimura@nifty.com>
	<20120831160917.761A82FE8@smtp.chive.ocn.ne.jp>
X-Mailer: Sylpheed 3.2.0 (GTK+ 2.24.6; i386-portbld-freebsd8.3)
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-2022-JP
Content-Transfer-Encoding: 7bit
Message-Id: <20120901082808.A4A5C2ED3@smtp.chive.ocn.ne.jp>
Reply-To: FreeBSD-users-jp@jp.FreeBSD.org
Precedence: list
Date: Sat, 1 Sep 2012 17:28:08 +0900
X-Sequence: FreeBSD-users-jp 94019
Subject: [FreeBSD-users-jp 94019] xf86-imput-mouse
 =?ISO-2022-JP?B?GyRCJEcbKEI=?= moused
 =?ISO-2022-JP?B?GyRCJE44IUNOJEs8OkdUJDkkaxsoQg==?=
Sender: owner-FreeBSD-users-jp@jp.FreeBSD.org
X-Originator: typer_jp@yahoo.co.jp
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+060209

$B$3$s$K$A$O!#2CF#$G$9!#(B
$BA02s$NB3$-$G$9!#(B

On Sat, 1 Sep 2012 01:09:17 +0900
"N.Katoh" <typer_jp@yahoo.co.jp> wrote:
> $BA[A|DL$j!"(Bmoused $B$,Av$C$F$$$k$N$K(B $B=i2s$G$O(B MousedRunning $B$,(B FALSE $B$rJV$9$h$&$G$9!#(B
> popen $B$O$"$^$j;H$C$?$3$H$J$$$N$GNI$/J,$+$j$^$;$s$,!"%(%i!<$,5/$-$F$$$k$N$+$b$7$l$^$;$s!#(B

$B$H$$$&$3$H$G!"(Bsrc/bsd_mouse.c $B$N(B MousedRunning$B4X?t$rD4$Y$F$_$^$7$?!#(B
MousedRunning$B4X?t$O(B moused(8)$B$,Av$C$F$$$k$+$rD4$Y$F$$$^$9!#(B
$BJ}K!$O(B fstat(1)$B$^$?$O(B pgrep(1)$B$r(B popen(3)$B$r;H$C$F<B9T$7!"(B
$B$=$N7k2L$r(B fscanf(3)$B$GFI$`$N$G$9$,!"$=$N:](B read(2)$B$G(B EINTR $B$,H/@8$9$kMM$G$9!#(B

$B$H860x$OJ,$+$C$?$b$N$NBP=h$O!V(Bfscanf(3)$B$r7+$jJV$9!W$GNI$$$N$G$7$?$C$1!)(B


$B0J2<!"3NG'MQ%Q%C%A(B

--- src/bsd_mouse.c.org	2012-09-01 17:01:11.612257386 +0900
+++ src/bsd_mouse.c	2012-09-01 17:03:15.000000000 +0900
@@ -302,13 +302,21 @@
     char cmd[128];
     FILE *f = NULL;
     unsigned int i;
+    char buff[256];
+    char *ret;
 
     if (dev)
 	sprintf(cmd, "sh -c 'fstat %s | grep -c moused' 2>/dev/null", dev);
     else
 	sprintf(cmd, "sh -c 'pgrep -nx moused' 2>/dev/null");
     if ((f = popen(cmd, "r")) != NULL) {
-	if (fscanf(f, "%u", &i) == 1 && i > 0) {
+	ret = fgets(buff, 256, f);
+	if (ret == NULL) {
+	    if (ferror(f)) {
+		xf86Msg(X_WARNING, "MousedRunning(\"%s\"), fgets error: %s\n",
+		    dev, strerror(errno));
+	    }
+	} else if (sscanf(ret, "%u", &i) == 1 && i > 0) {
 	    pclose(f);
 	    return TRUE;
 	}


$B7k2L!J(B/var/log/Xorg.0.log$B!K(B

(WW) USB Mouse: No Device specified, looking for one...
(WW) MousedRunning("(null)"), fgets error: Interrupted system call
(WW) MousedRunning("/dev/ums0"), fgets error: Interrupted system call
(II) USB Mouse: Setting Device option to "/dev/ums0"
(--) USB Mouse: Device: "/dev/ums0"
$B0J2<N,(B
