[Libguestfs] [PATCH] Set LC_ALL=C before running qemu.

Richard W.M. Jones rjones at redhat.com
Wed Oct 21 15:33:08 UTC 2009


This patch by no means covers all the cases where we run external
programs and expect to parse their output without setting LC_ALL=C.
But it's a good start.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming blog: http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora
-------------- next part --------------
>From 48d1aac55e4d44c37512937d64d0d76b3910f8e2 Mon Sep 17 00:00:00 2001
From: Richard Jones <rjones at redhat.com>
Date: Wed, 21 Oct 2009 16:31:26 +0100
Subject: [PATCH] Set LC_ALL=C before running qemu.

---
 src/guestfs.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/guestfs.c b/src/guestfs.c
index e49f57a..a25e9e7 100644
--- a/src/guestfs.c
+++ b/src/guestfs.c
@@ -1195,6 +1195,8 @@ guestfs__launch (guestfs_h *g)
     setpgid (0, 0);
 #endif
 
+    setenv ("LC_ALL", "C", 1);
+
     execv (g->qemu, g->cmdline); /* Run qemu. */
     perror (g->qemu);
     _exit (1);
@@ -1486,7 +1488,7 @@ test_qemu (guestfs_h *g)
   g->qemu_help = NULL;
   g->qemu_version = NULL;
 
-  snprintf (cmd, sizeof cmd, "'%s' -help", g->qemu);
+  snprintf (cmd, sizeof cmd, "LC_ALL=C '%s' -help", g->qemu);
 
   fp = popen (cmd, "r");
   /* qemu -help should always work (qemu -version OTOH wasn't
@@ -1508,7 +1510,7 @@ test_qemu (guestfs_h *g)
   if (pclose (fp) == -1)
     goto error;
 
-  snprintf (cmd, sizeof cmd, "'%s' -version 2>/dev/null", g->qemu);
+  snprintf (cmd, sizeof cmd, "LC_ALL=C '%s' -version 2>/dev/null", g->qemu);
 
   fp = popen (cmd, "r");
   if (fp) {
-- 
1.6.5.rc2



More information about the Libguestfs mailing list