inspection: Return root devices sorted.
[libguestfs.git] / src / inspect.c
index 1432735..67eb65f 100644 (file)
@@ -123,6 +123,15 @@ guestfs__inspect_os (guestfs_h *g)
   return ret;
 }
 
+static int
+compare_strings (const void *vp1, const void *vp2)
+{
+  const char *s1 = * (char * const *) vp1;
+  const char *s2 = * (char * const *) vp2;
+
+  return strcmp (s1, s2);
+}
+
 char **
 guestfs__inspect_get_roots (guestfs_h *g)
 {
@@ -151,6 +160,8 @@ guestfs__inspect_get_roots (guestfs_h *g)
   }
   ret[count] = NULL;
 
+  qsort (ret, count, sizeof (char *), compare_strings);
+
   return ret;
 }
 
@@ -163,9 +174,10 @@ guestfs__inspect_get_type (guestfs_h *g, const char *root)
 
   char *ret;
   switch (fs->type) {
+  case OS_TYPE_FREEBSD: ret = safe_strdup (g, "freebsd"); break;
   case OS_TYPE_LINUX: ret = safe_strdup (g, "linux"); break;
+  case OS_TYPE_NETBSD: ret = safe_strdup (g, "netbsd"); break;
   case OS_TYPE_WINDOWS: ret = safe_strdup (g, "windows"); break;
-  case OS_TYPE_FREEBSD: ret = safe_strdup (g, "freebsd"); break;
   case OS_TYPE_UNKNOWN: default: ret = safe_strdup (g, "unknown"); break;
   }