From owner-freebsd-current@FreeBSD.ORG Fri Oct 15 20:35:58 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id C21B816A4CE for ; Fri, 15 Oct 2004 20:35:58 +0000 (GMT) Received: from athena.softcardsystems.com (mail.softcardsystems.com [12.34.136.114]) by mx1.FreeBSD.org (Postfix) with ESMTP id 471F943D4C for ; Fri, 15 Oct 2004 20:35:58 +0000 (GMT) (envelope-from sah@softcardsystems.com) Received: from athena (athena [12.34.136.114])i9FLYBth023070 for ; Fri, 15 Oct 2004 16:34:11 -0500 Date: Fri, 15 Oct 2004 16:34:11 -0500 (EST) From: Sam X-X-Sender: sah@athena To: freebsd-current@freebsd.org Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Subject: fdisk buglet X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Oct 2004 20:35:58 -0000 fivethree% fdisk /dev/ad1 fdisk: cannot open disk /dev//dev/ad1: No such file or directory One possible fix: fivethree% diff -upr src/sbin/fdisk src2/sbin/fdisk diff -upr src/sbin/fdisk/fdisk.c src2/sbin/fdisk/fdisk.c --- src/sbin/fdisk/fdisk.c Mon Jun 14 03:21:19 2004 +++ src2/sbin/fdisk/fdisk.c Fri Oct 15 16:35:28 2004 @@ -299,14 +299,16 @@ main(int argc, char *argv[]) if (argc == 0) { disk = get_rootdisk(); } else { - if (stat(argv[0], &sb) == 0) { + disk = argv[0]; + if (stat(disk, &sb) == 0) { /* OK, full pathname given */ - disk = argv[0]; } else if (errno == ENOENT) { /* Try prepending "/dev" */ - asprintf(&disk, "%s%s", _PATH_DEV, argv[0]); - if (disk == NULL) - errx(1, "out of memory"); + if (strncmp(disk, _PATH_DEV, strlen(_PATH_DEV))) { + asprintf(&disk, "%s%s", _PATH_DEV, argv[0]); + if (disk == NULL) + errx(1, "out of memory"); + } } else { /* other stat error, let it fail below */ disk = argv[0]; Cheers, Sam