So the patch is generally fine now, but there's one thing
I didn't spot in the earlier version:
+/**
+ * Get the UUID from the appliance disk image.
+ */
+static char *
+get_root_uuid (guestfs_h *g, const char *appliance)
+{
+ char *uuid = NULL;
+ int ret;
+ char tmp_file[] = "/tmp/libguestfsXXXXXX";
+
+ uuid = do_get_root_uuid (g, appliance);
+ if (uuid) {
+ return uuid;
+ }
+
+ if (!mktemp (tmp_file)) {
+ error (g, "get_root_uuid: mktemp failed");
+ return NULL;
+ }
mktemp isn't safe to use in modern code. Libguestfs already makes a
temporary directory for handles to use so you can create a file in
that directory like this:
CLEANUP_FREE char *file = NULL;
file = guestfs_int_make_temp_path (g, "root", "raw");
if (!file) return -1;
Note you don't have to delete the file explicitly.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-df lists disk usage of guests without needing to install any
software inside the virtual machine. Supports Linux and Windows.
http://people.redhat.com/~rjones/virt-df/