view patches/0001-ly-spawn-pass-utf-8-strings-to-g_spawn.-Fixes-1522.patch @ 6512:ccc20ae889ca default tip guix

mingw::guile-2.0.7 builds.
author Jan Nieuwenhuizen <janneke@gnu.org>
date Thu, 24 Mar 2016 08:03:39 +0100
parents fb2d592c16e7
children
line wrap: on
line source

From d8c3e0af38c0a9645fec2e49ecf32c8170f70e0b Mon Sep 17 00:00:00 2001
From: Jan Nieuwenhuizen <janneke@gnu.org>
Date: Mon, 28 Feb 2011 15:49:13 +0100
Subject: [PATCH] ly:spawn: pass utf-8 strings to g_spawn.  Fixes #1522.

---
 lily/general-scheme.cc |   13 +++++++++++--
 1 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/lily/general-scheme.cc b/lily/general-scheme.cc
index 5989350..ae31e1e 100644
--- a/lily/general-scheme.cc
+++ b/lily/general-scheme.cc
@@ -689,6 +689,15 @@ ly_run_command (char *argv[], char **standard_output, char **standard_error)
   return exit_status;
 }
 
+static char *
+ly_scm2utf8 (SCM str)
+{
+  char *p = ly_scm2str0 (str);
+  char *g = g_locale_to_utf8 (p, -1, 0, 0, 0);
+  free (p);
+  return g;
+}
+
 LY_DEFINE (ly_spawn, "ly:spawn",
 	   1, 0, 1, (SCM command, SCM rest),
 	   "Simple interface to g_spawn_sync"
@@ -702,9 +711,9 @@ LY_DEFINE (ly_spawn, "ly:spawn",
   char **argv = new char*[argc + 2];
 
   int n = 0;
-  argv[n++] = ly_scm2str0 (command);
+  argv[n++] = ly_scm2utf8 (command);
   for (SCM s = rest; scm_is_pair (s); s = scm_cdr (s))
-    argv[n++] = ly_scm2str0 (scm_car (s));
+    argv[n++] = ly_scm2utf8 (scm_car (s));
   argv[n] = 0;
 
   char *standard_output = 0;
-- 
1.7.1