* 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>
CALL (guestfs_add_drive (g, argv[i]), -1);
CALL (guestfs_launch (g), -1);
- CALL (guestfs_wait_ready (g), -1);
printf ("<guestfs-system>\n");
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]);
}
}
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");
* 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;
}
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);