X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;ds=sidebyside;f=shell%2Fev-daemon.c;h=4c05cbe2133208f06e5036383d0850bb32172957;hb=5f554d8e362a35e05840068e1b3ea935be5d3c47;hp=c5b9c6d2daf44516b5c3d5f1e490a2e1e4f25878;hpb=66e5636dcaace0d9a98845490b09721c12ce3d2b;p=evince.git diff --git a/shell/ev-daemon.c b/shell/ev-daemon.c index c5b9c6d2..4c05cbe2 100644 --- a/shell/ev-daemon.c +++ b/shell/ev-daemon.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -149,7 +150,7 @@ ev_daemon_shutdown (EvDaemon *ev_daemon) static void ev_daemon_stop_killtimer (EvDaemon *ev_daemon) { - if (ev_daemon->timer_id > 0) + if (ev_daemon->timer_id != 0) g_source_remove (ev_daemon->timer_id); ev_daemon->timer_id = 0; } @@ -333,7 +334,7 @@ static gboolean convert_metadata (const gchar *metadata) { GFile *file; - gchar *cmd; + char *argv[3]; gint exit_status; GFileAttributeInfoList *namespaces; gboolean supported = FALSE; @@ -357,25 +358,28 @@ convert_metadata (const gchar *metadata) g_file_attribute_info_list_unref (namespaces); } if (!supported) { - g_warning ("%s\n", - "GVFS metadata not supported, " - "Evince will run without metadata support"); + g_warning ("GVFS metadata not supported. " + "Evince will run without metadata support.\n"); g_object_unref (file); return FALSE; } g_object_unref (file); - cmd = g_strdup_printf ("%s %s", LIBEXECDIR"/evince-convert-metadata", metadata); + argv[0] = g_build_filename (LIBEXECDIR, "evince-convert-metadata", NULL); + argv[1] = (char *) metadata; + argv[2] = NULL; - retval = g_spawn_command_line_sync (cmd, NULL, NULL, &exit_status, &error); - g_free (cmd); + retval = g_spawn_sync (NULL /* wd */, argv, NULL /* env */, + 0, NULL, NULL, NULL, NULL, + &exit_status, &error); + g_free (argv[0]); if (!retval) { g_printerr ("Error migrating metadata: %s\n", error->message); g_error_free (error); } - return retval && exit_status == 0; + return retval && WIFEXITED (exit_status) && WEXITSTATUS (exit_status) == 0; } static void