Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Jul 2007 21:01:32 GMT
From:      Peter Wemm <peter@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 124283 for review
Message-ID:  <200707282101.l6SL1WWG093481@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help

http://perforce.freebsd.org/chv.cgi?CH=124283

Change 124283 by peter@peter_daintree on 2007/07/28 21:00:32

	Hack. take explicit card:port rather than decode /dev device names.

Affected files ...

.. //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#4 edit

Differences ...

==== //depot/projects/hammer/usr.sbin/sicontrol/sicontrol.c#4 (text+ko) ====

@@ -150,22 +150,14 @@
 		alldev = 1;
 	} else {
 		sidev_t dev;
-		struct stat st;
+		int n;
+		int card, port;
 
-		if (strchr(Devname, '/') == NULL) {
-			char *acp = malloc(6 + strlen(Devname));
-			strcpy(acp, _PATH_DEV);
-			strcat(acp, Devname);
-			Devname = acp;
-		}
-		if (stat(Devname, &st) < 0)
-			errx(1, "can't stat %s", Devname);
-#if 0
-		dev.sid_card = SI_CARD(minor(st.st_rdev));
-		dev.sid_port = SI_PORT(minor(st.st_rdev));
-#else
-		errx(1, "Sorry, code missing to parse device name into card/port");
-#endif
+		n = sscanf(Devname, "%d:%d", &card, &port);
+		if (n != 2)
+			errx(1, "Devname must be in form card:port.  eg: 0:7");
+		dev.sid_card = card;
+		dev.sid_port = port;
 		tc.tc_dev = dev;
 	}
 	ctlfd = opencontrol();



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200707282101.l6SL1WWG093481>