summaryrefslogtreecommitdiffstats
path: root/disk-utils/cfdisk.c
diff options
context:
space:
mode:
authorKarel Zak2014-07-18 12:54:40 +0200
committerKarel Zak2014-07-18 12:54:40 +0200
commita4f0a42dd212d30ca62bfaab341c808839518587 (patch)
treeaa28046290eb1793df7660f76241aba36aa0dafd /disk-utils/cfdisk.c
parentwall: add fallback for failed sysconf() (diff)
downloadkernel-qcow2-util-linux-a4f0a42dd212d30ca62bfaab341c808839518587.tar.gz
kernel-qcow2-util-linux-a4f0a42dd212d30ca62bfaab341c808839518587.tar.xz
kernel-qcow2-util-linux-a4f0a42dd212d30ca62bfaab341c808839518587.zip
cfdisk: use /dev/sda by default
.. this all is for backward compatibility. Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'disk-utils/cfdisk.c')
-rw-r--r--disk-utils/cfdisk.c26
1 files changed, 20 insertions, 6 deletions
diff --git a/disk-utils/cfdisk.c b/disk-utils/cfdisk.c
index e5a47bf3c..715e07ddb 100644
--- a/disk-utils/cfdisk.c
+++ b/disk-utils/cfdisk.c
@@ -54,6 +54,17 @@
#include "fdiskP.h"
+#ifdef __GNU__
+# define DEFAULT_DEVICE "/dev/hd0"
+# define ALTERNATE_DEVICE "/dev/sd0"
+#elif defined(__FreeBSD__)
+# define DEFAULT_DEVICE "/dev/ad0"
+# define ALTERNATE_DEVICE "/dev/da0"
+#else
+# define DEFAULT_DEVICE "/dev/sda"
+# define ALTERNATE_DEVICE "/dev/hda"
+#endif
+
#define ARROW_CURSOR_STRING ">> "
#define ARROW_CURSOR_DUMMY " "
#define ARROW_CURSOR_WIDTH (sizeof(ARROW_CURSOR_STRING) - 1)
@@ -1981,6 +1992,7 @@ static void __attribute__ ((__noreturn__)) usage(FILE *out)
int main(int argc, char *argv[])
{
+ const char *diskpath;
int rc, c, colormode = UL_COLORMODE_UNDEF;
struct cfdisk _cf = { .lines_idx = 0 },
*cf = &_cf;
@@ -2019,8 +2031,6 @@ int main(int argc, char *argv[])
}
}
-
-
colors_init(colormode, "cfdisk");
fdisk_init_debug(0);
@@ -2033,13 +2043,17 @@ int main(int argc, char *argv[])
fdisk_context_set_ask(cf->cxt, ask_callback, (void *) cf);
if (optind == argc)
- usage(stderr);
+ diskpath = access(DEFAULT_DEVICE, F_OK) == 0 ?
+ DEFAULT_DEVICE : ALTERNATE_DEVICE;
+ else
+ diskpath = argv[optind];
- rc = fdisk_context_assign_device(cf->cxt, argv[optind], 0);
+ rc = fdisk_context_assign_device(cf->cxt, diskpath, 0);
if (rc == -EACCES)
- rc = fdisk_context_assign_device(cf->cxt, argv[optind], 1);
+ rc = fdisk_context_assign_device(cf->cxt, diskpath, 1);
if (rc != 0)
- err(EXIT_FAILURE, _("cannot open %s"), argv[optind]);
+ err(EXIT_FAILURE, _("cannot open %s"),
+ optind == argc ? DEFAULT_DEVICE : diskpath);
/* Don't use err(), warn() from this point */
ui_init(cf);