change strncmp() == 0 to STREQLEN()
[libguestfs.git] / examples / to-xml.c
index 5b75244..4317619 100644 (file)
@@ -7,7 +7,9 @@
  *   to-xml guest.img [guest.img ...]
  */
 
-#include <config.h>
+#if HAVE_CONFIG_H
+# include <config.h>
+#endif
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
@@ -49,7 +51,6 @@ main (int argc, char *argv[])
     CALL (guestfs_add_drive (g, argv[i]), -1);
 
   CALL (guestfs_launch (g), -1);
-  CALL (guestfs_wait_ready (g), -1);
 
   printf ("<guestfs-system>\n");
 
@@ -86,15 +87,15 @@ main (int argc, char *argv[])
     int len = strlen (vgs[i]);
     int j;
     for (j = 0; lvs[j] != NULL; ++j) {
-      if (strncmp (lvs[j], "/dev/", 5) == 0 &&
-         strncmp (&lvs[j][5], vgs[i], len) == 0 &&
-         lvs[j][len+5] == '/') {
-       int64_t size;
-       CALL (size = guestfs_blockdev_getsize64 (g, lvs[j]), -1);
-       printf ("<logvol name=\"%s\" size=\"%" PRIi64 "\">\n", lvs[j], size);
-       display_partition (g, lvs[j]);
-       printf ("</logvol>\n");
-       free (lvs[j]);
+      if (STREQLEN (lvs[j], "/dev/", 5) &&
+          STREQLEN (&lvs[j][5], vgs[i], len) &&
+          lvs[j][len+5] == '/') {
+        int64_t size;
+        CALL (size = guestfs_blockdev_getsize64 (g, lvs[j]), -1);
+        printf ("<logvol name=\"%s\" size=\"%" PRIi64 "\">\n", lvs[j], size);
+        display_partition (g, lvs[j]);
+        printf ("</logvol>\n");
+        free (lvs[j]);
       }
     }
 
@@ -124,7 +125,7 @@ display_partition (guestfs_h *g, const char *dev)
     printf ("<windows/>\n");
   else if (strstr (what, "boot sector") != NULL)
     display_partitions (g, dev);
-  else if (strncmp (what, "LVM2", 4) == 0)
+  else if (STREQLEN (what, "LVM2", 4))
     printf ("<physvol/>\n");
   else if (strstr (what, "ext2 filesystem data") != NULL)
     display_ext234 (g, dev, "ext2");
@@ -148,7 +149,7 @@ display_partitions (guestfs_h *g, const char *dev)
    * That's a limitation of sorts of the Linux kernel.  (Actually,
    * we could do this if we add the kpartx program to libguestfs).
    */
-  if (strncmp (dev, "/dev/sd", 7) != 0 || isdigit (dev[strlen(dev)-1])) {
+  if (STRNEQLEN (dev, "/dev/sd", 7) || isdigit (dev[strlen(dev)-1])) {
     printf ("<vm-image dev=\"%s\"/>\n", dev);
     return;
   }
@@ -161,7 +162,7 @@ display_partitions (guestfs_h *g, const char *dev)
   len = strlen (dev);
   for (i = 0; parts[i] != NULL; ++i) {
     /* Only display partition if it's in the device. */
-    if (strncmp (parts[i], dev, len) == 0) {
+    if (STREQLEN (parts[i], dev, len)) {
       int64_t size;
       CALL (size = guestfs_blockdev_getsize64 (g, parts[i]), -1);
       printf ("<partition dev=\"%s\" size=\"%" PRIi64 "\">\n", parts[i], size);