summaryrefslogtreecommitdiffstats
path: root/fish
diff options
context:
space:
mode:
authorRichard W.M. Jones <rjones@redhat.com>2012-06-13 20:36:40 +0100
committerRichard W.M. Jones <rjones@redhat.com>2012-06-13 23:07:26 +0100
commit46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504 (patch)
tree7ac4657b5067f50597aa54e2ee4d74d2db6c3054 /fish
parent998ebc333dbfe40c5953e36fb42f9610727a7532 (diff)
downloadlibguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.tar.gz
libguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.tar.xz
libguestfs-46ed232dc2ff2f7dff91cd93a13d7ce6f2cec504.zip
New API: guestfs_canonical_device_name.
This API makes device names canonical, eg. /dev/vda1 -> /dev/sda1.
Diffstat (limited to 'fish')
-rw-r--r--fish/options.c20
1 files changed, 5 insertions, 15 deletions
diff --git a/fish/options.c b/fish/options.c
index a2b4ca48..b1a12e8c 100644
--- a/fish/options.c
+++ b/fish/options.c
@@ -105,7 +105,6 @@ add_drives (struct drv *drv, char next_drive)
}
static void display_mountpoints_on_failure (const char *mp_device, const char *user_supplied_options);
-static void canonical_device_name (char *dev);
/* List is built in reverse order, so mount them in reverse order. */
void
@@ -139,7 +138,7 @@ static void
display_mountpoints_on_failure (const char *mp_device,
const char *user_supplied_options)
{
- char **fses;
+ char **fses, *p;
size_t i;
fses = guestfs_list_filesystems (g);
@@ -162,8 +161,10 @@ display_mountpoints_on_failure (const char *mp_device,
program_name);
for (i = 0; fses[i] != NULL; i += 2) {
- canonical_device_name (fses[i]);
- fprintf (stderr, "%s: \t%s (%s)\n", program_name, fses[i], fses[i+1]);
+ p = guestfs_canonical_device_name (g, fses[i]);
+ fprintf (stderr, "%s: \t%s (%s)\n", program_name,
+ p ? p : fses[i], fses[i+1]);
+ free (p);
free (fses[i]);
free (fses[i+1]);
}
@@ -171,17 +172,6 @@ display_mountpoints_on_failure (const char *mp_device,
free (fses);
}
-static void
-canonical_device_name (char *dev)
-{
- if (STRPREFIX (dev, "/dev/") &&
- (dev[5] == 'h' || dev[5] == 'v') &&
- dev[6] == 'd' &&
- c_isalpha (dev[7]) &&
- (c_isdigit (dev[8]) || dev[8] == '\0'))
- dev[5] = 's';
-}
-
void
free_drives (struct drv *drv)
{