From ce957f864907e665591e02455ed87f70d3ebe930 Mon Sep 17 00:00:00 2001 From: Giuseppe Scrivano Date: Fri, 16 Jan 2015 11:48:50 +0100 Subject: [PATCH] editor: honor arguments environment variable My EDITOR looks like "EDITOR=emacs -nw", ensure that it is honored. Signed-off-by: Giuseppe Scrivano --- src/ostree/ot-editor.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/ostree/ot-editor.c b/src/ostree/ot-editor.c index e1ca1a18..608c58b6 100644 --- a/src/ostree/ot-editor.c +++ b/src/ostree/ot-editor.c @@ -68,6 +68,7 @@ ot_editor_prompt (OstreeRepo *repo, GOutputStream *output; const char *editor; char *ret = NULL; + gs_free gchar *args = NULL; editor = get_editor (); if (editor == NULL) @@ -86,7 +87,11 @@ ot_editor_prompt (OstreeRepo *repo, !g_io_stream_close (G_IO_STREAM (io), cancellable, error)) goto out; - ctx = gs_subprocess_context_newv (editor, gs_file_get_path_cached (file), NULL); + { + gs_free gchar *quoted_file = g_shell_quote (gs_file_get_path_cached (file)); + args = g_strconcat (editor, " ", quoted_file, NULL); + } + ctx = gs_subprocess_context_newv ("/bin/sh", "-c", args, NULL); gs_subprocess_context_set_stdin_disposition (ctx, GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT); gs_subprocess_context_set_stdout_disposition (ctx, GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT); gs_subprocess_context_set_stderr_disposition (ctx, GS_SUBPROCESS_STREAM_DISPOSITION_INHERIT);