Date: Fri, 15 Oct 2004 16:34:11 -0500 (EST) From: Sam <sah@softcardsystems.com> To: freebsd-current@freebsd.org Subject: fdisk buglet Message-ID: <Pine.LNX.4.60.0410151632100.21014@athena>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.LNX.4.60.0410151632100.21014>