From 91e5c3dc7cdde26cced0cdf62880c19137750ecc Mon Sep 17 00:00:00 2001
From: "Daniel P. Berrange" <berrange@redhat.com>
Date: Thu, 12 May 2011 10:33:31 +0100
Subject: [PATCH] Disable virCommandExec on Win32

Mingw execve() has a broken signature. Disable this
function until gnulib fixes the signature, since we
don't really need this on Win32 anyway.

* src/util/command.c: Disable virCommandExec on Win32
---
 src/util/command.c | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/src/util/command.c b/src/util/command.c
index 7ac411bea1..ebb90cb36b 100644
--- a/src/util/command.c
+++ b/src/util/command.c
@@ -989,6 +989,7 @@ cleanup:
  * Returns -1 on any error executing the command.
  * Will not return on success.
  */
+#ifndef WIN32
 int virCommandExec(virCommandPtr cmd)
 {
     if (!cmd ||cmd->has_error == ENOMEM) {
@@ -1003,6 +1004,18 @@ int virCommandExec(virCommandPtr cmd)
 
     return execve(cmd->args[0], cmd->args, cmd->env);
 }
+#else
+int virCommandExec(virCommandPtr cmd ATTRIBUTE_UNUSED)
+{
+    /* Mingw execve() has a broken signature. Disable this
+     * function until gnulib fixes the signature, since we
+     * don't really need this on Win32 anyway.
+     */
+    virReportSystemError(ENOSYS, "%s",
+                         _("Executing new processes is not supported on Win32 platform"));
+    return -1;
+}
+#endif
 
 /*
  * Run the command and wait for completion.