Index: fdisk.c =================================================================== RCS file: /srv/ncvs/src/sbin/fdisk/fdisk.c,v retrieving revision 1.84 diff -u -r1.84 fdisk.c --- fdisk.c 6 May 2007 18:48:30 -0000 1.84 +++ fdisk.c 26 Apr 2008 13:35:53 -0000 @@ -303,18 +303,9 @@ if (argc == 0) { disk = get_rootdisk(); } else { - if (stat(argv[0], &sb) == 0) { - /* OK, full pathname given */ - disk = argv[0]; - } else if (errno == ENOENT && argv[0][0] != '/') { - /* Try prepending "/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]; - } + disk = g_provider_from_path(argv[0]); + if (disk == NULL) + err(1, "unable to get provider from %s\n", argv[0]); } if (open_disk(u_flag) < 0) err(1, "cannot open disk %s", disk);