summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ev-application.c20
1 files changed, 13 insertions, 7 deletions
diff --git a/shell/ev-application.c b/shell/ev-application.c
index 57f1b922..37d35eaa 100644
--- a/shell/ev-application.c
+++ b/shell/ev-application.c
@@ -221,18 +221,22 @@ ev_spawn (const char *uri,
/* Page label or index */
if (dest) {
switch (ev_link_dest_get_dest_type (dest)) {
- case EV_LINK_DEST_TYPE_PAGE_LABEL:
- g_string_append_printf (cmd, " --page-label=%s",
- ev_link_dest_get_page_label (dest));
+ case EV_LINK_DEST_TYPE_PAGE_LABEL: {
+ gchar *quoted = g_shell_quote (ev_link_dest_get_page_label (dest));
+ g_string_append_printf (cmd, " --page-label=%s", quoted);
+ g_free (quoted);
break;
+ }
case EV_LINK_DEST_TYPE_PAGE:
g_string_append_printf (cmd, " --page-index=%d",
ev_link_dest_get_page (dest) + 1);
break;
- case EV_LINK_DEST_TYPE_NAMED:
- g_string_append_printf (cmd, " --named-dest=%s",
- ev_link_dest_get_named_dest (dest));
+ case EV_LINK_DEST_TYPE_NAMED: {
+ gchar *quoted = g_shell_quote (ev_link_dest_get_named_dest (dest));
+ g_string_append_printf (cmd, " --named-dest=%s", quoted);
+ g_free (quoted);
break;
+ }
default:
break;
}
@@ -240,7 +244,9 @@ ev_spawn (const char *uri,
/* Find string */
if (search_string) {
- g_string_append_printf (cmd, " --find=%s", search_string);
+ gchar *quoted = g_shell_quote (search_string);
+ g_string_append_printf (cmd, " --find=%s", quoted);
+ g_free (quoted);
}
/* Mode */