]> git.proxmox.com Git - qemu.git/commitdiff
qga: create state directory on win32
authorLaszlo Ersek <lersek@redhat.com>
Sat, 18 May 2013 04:31:51 +0000 (06:31 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Thu, 30 May 2013 16:37:37 +0000 (11:37 -0500)
On Win32 the local state directory is application specific and users might
expect qemu-ga to create it automatically.

Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
qga/main.c

index f5f033d1517439b67c7134b1d6d37112eec61016..5f2d1414316c64d0dc7ccd2aeee8721b0e883c8a 100644 (file)
@@ -1041,6 +1041,20 @@ int main(int argc, char **argv)
         }
     }
 
+#ifdef _WIN32
+    /* On win32 the state directory is application specific (be it the default
+     * or a user override). We got past the command line parsing; let's create
+     * the directory (with any intermediate directories). If we run into an
+     * error later on, we won't try to clean up the directory, it is considered
+     * persistent.
+     */
+    if (g_mkdir_with_parents(state_dir, S_IRWXU) == -1) {
+        g_critical("unable to create (an ancestor of) the state directory"
+                   " '%s': %s", state_dir, strerror(errno));
+        return EXIT_FAILURE;
+    }
+#endif
+
     s = g_malloc0(sizeof(GAState));
     s->log_level = log_level;
     s->log_file = stderr;