mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-05 00:46:16 +01:00
Quote the passed command line...
2007-04-29 Emmanuele Bassi <ebassi@gnome.org> * glib/gbookmarkfile.c: (g_bookmark_file_set_app_info): Quote the passed command line... (g_bookmark_file_get_app_info): ... and unquote it when giving it back. (#432274) svn path=/trunk/; revision=5466
This commit is contained in:
parent
94b419c3e0
commit
788b109b39
@ -1,3 +1,11 @@
|
|||||||
|
2007-04-29 Emmanuele Bassi <ebassi@gnome.org>
|
||||||
|
|
||||||
|
* glib/gbookmarkfile.c:
|
||||||
|
(g_bookmark_file_set_app_info): Quote the passed command line...
|
||||||
|
|
||||||
|
(g_bookmark_file_get_app_info): ... and unquote it when giving it
|
||||||
|
back. (#432274)
|
||||||
|
|
||||||
2007-04-27 Matthias Clasen <mclasen@redhat.com>
|
2007-04-27 Matthias Clasen <mclasen@redhat.com>
|
||||||
|
|
||||||
* glib/gstrfuncs.c: small coding style cleanups.
|
* glib/gstrfuncs.c: small coding style cleanups.
|
||||||
|
@ -3257,7 +3257,7 @@ g_bookmark_file_set_app_info (GBookmarkFile *bookmark,
|
|||||||
if (exec && exec[0] != '\0')
|
if (exec && exec[0] != '\0')
|
||||||
{
|
{
|
||||||
g_free (ai->exec);
|
g_free (ai->exec);
|
||||||
ai->exec = g_strdup (exec);
|
ai->exec = g_shell_quote (exec);
|
||||||
}
|
}
|
||||||
|
|
||||||
item->modified = time (NULL);
|
item->modified = time (NULL);
|
||||||
@ -3338,7 +3338,9 @@ expand_exec_line (const gchar *exec_fmt,
|
|||||||
* @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
|
* @error is set to #G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND. In the
|
||||||
* event that no application with name @app_name has registered a bookmark
|
* event that no application with name @app_name has registered a bookmark
|
||||||
* for @uri, %FALSE is returned and error is set to
|
* for @uri, %FALSE is returned and error is set to
|
||||||
* #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED.
|
* #G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED. In the event that unquoting
|
||||||
|
* the command line fails, an error of the #G_SHELL_ERROR domain is
|
||||||
|
* set and %FALSE is returned.
|
||||||
*
|
*
|
||||||
* Return value: %TRUE on success.
|
* Return value: %TRUE on success.
|
||||||
*
|
*
|
||||||
@ -3383,15 +3385,29 @@ g_bookmark_file_get_app_info (GBookmarkFile *bookmark,
|
|||||||
|
|
||||||
if (exec)
|
if (exec)
|
||||||
{
|
{
|
||||||
*exec = expand_exec_line (ai->exec, uri);
|
GError *unquote_error = NULL;
|
||||||
|
gchar *command_line;
|
||||||
|
|
||||||
|
command_line = g_shell_unquote (ai->exec, &unquote_error);
|
||||||
|
if (unquote_error)
|
||||||
|
{
|
||||||
|
g_propagate_error (unquote_error, error);
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
*exec = expand_exec_line (command_line, uri);
|
||||||
if (!*exec)
|
if (!*exec)
|
||||||
{
|
{
|
||||||
g_set_error (error, G_BOOKMARK_FILE_ERROR,
|
g_set_error (error, G_BOOKMARK_FILE_ERROR,
|
||||||
G_BOOKMARK_FILE_ERROR_INVALID_URI,
|
G_BOOKMARK_FILE_ERROR_INVALID_URI,
|
||||||
_("Failed to expand exec line '%s' with URI '%s'"),
|
_("Failed to expand exec line '%s' with URI '%s'"),
|
||||||
ai->exec, uri);
|
ai->exec, uri);
|
||||||
|
g_free (command_line);
|
||||||
|
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
g_free (command_line);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (count)
|
if (count)
|
||||||
|
Loading…
Reference in New Issue
Block a user