Fix path quoting problems on Windows.
git-svn-id: https://geany.svn.sourceforge.net/svnroot/geany/trunk@3566 ea778897-0a13-0410-b9d1-a72fbfd435f5
This commit is contained in:
parent
27530eabe8
commit
0e8e7a687b
@ -3,6 +3,8 @@
|
|||||||
* plugins/filebrowser.c:
|
* plugins/filebrowser.c:
|
||||||
Make Menu key and Shift-F10 working on the filebrowser treeview.
|
Make Menu key and Shift-F10 working on the filebrowser treeview.
|
||||||
Return TRUE if appropriate in the event handlers.
|
Return TRUE if appropriate in the event handlers.
|
||||||
|
* plugins/vcdiff.c:
|
||||||
|
Fix path quoting problems on Windows.
|
||||||
|
|
||||||
|
|
||||||
2009-02-08 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
|
2009-02-08 Frank Lanitz <frank(at)frank(dot)uvena(dot)de>
|
||||||
|
|||||||
@ -196,6 +196,17 @@ static void* find_cmd_env(gint cmd_type, gboolean cmd, const gchar* filename)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static gchar *quote_path(const gchar *path)
|
||||||
|
{
|
||||||
|
#ifdef G_OS_WIN32
|
||||||
|
/* On Windows we need to quote the path in order to handle spaces in paths correctly. */
|
||||||
|
return g_strconcat("\"", path, "\"", NULL);
|
||||||
|
#else
|
||||||
|
return g_strdup(path);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void* get_cmd_env(gint cmd_type, gboolean cmd, const gchar* filename, int *size)
|
static void* get_cmd_env(gint cmd_type, gboolean cmd, const gchar* filename, int *size)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@ -231,18 +242,18 @@ static void* get_cmd_env(gint cmd_type, gboolean cmd, const gchar* filename, int
|
|||||||
{
|
{
|
||||||
if (argv[i] == DIRNAME)
|
if (argv[i] == DIRNAME)
|
||||||
{
|
{
|
||||||
ret[i] = g_strdup(dir);
|
ret[i] = quote_path(dir);
|
||||||
}
|
}
|
||||||
else if (argv[i] == FILENAME)
|
else if (argv[i] == FILENAME)
|
||||||
{
|
{
|
||||||
ret[i] = g_strdup(filename);
|
ret[i] = quote_path(filename);
|
||||||
}
|
}
|
||||||
else if (argv[i] == BASE_FILENAME)
|
else if (argv[i] == BASE_FILENAME)
|
||||||
{
|
{
|
||||||
ret[i] = g_strdup(base_filename);
|
ret[i] = quote_path(base_filename);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ret[i] = g_strdup(argv[i]);
|
ret[i] = quote_path(argv[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
*size = len;
|
*size = len;
|
||||||
@ -345,7 +356,7 @@ static gchar *make_diff(const gchar *filename, gint cmd)
|
|||||||
/* CVS dump stuff to stderr when diff nested dirs */
|
/* CVS dump stuff to stderr when diff nested dirs */
|
||||||
if (strcmp(argv[0], "cvs") != 0 && NZV(std_error))
|
if (strcmp(argv[0], "cvs") != 0 && NZV(std_error))
|
||||||
{
|
{
|
||||||
dialogs_show_msgbox(1,
|
dialogs_show_msgbox(GTK_MESSAGE_WARNING,
|
||||||
_("%s exited with an error: \n%s."), argv[0], g_strstrip(std_error));
|
_("%s exited with an error: \n%s."), argv[0], g_strstrip(std_error));
|
||||||
}
|
}
|
||||||
else if (NZV(std_output))
|
else if (NZV(std_output))
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user