# HG changeset patch # User Casey Harkins # Date 1178331559 0 # Node ID 64b7d4ebd2b253f96bfb8b3387a0a9eefee0cd7a # Parent aa87ecd650d2c12339fba8324820e74e9788e46c Escape filename when using the command sound method. Fixes ticket #607. diff -r aa87ecd650d2 -r 64b7d4ebd2b2 pidgin/gtksound.c --- a/pidgin/gtksound.c Sat May 05 01:58:20 2007 +0000 +++ b/pidgin/gtksound.c Sat May 05 02:19:19 2007 +0000 @@ -418,6 +418,7 @@ if (!strcmp(method, "custom")) { const char *sound_cmd; char *command; + char *esc_filename; GError *error = NULL; sound_cmd = purple_prefs_get_path(PIDGIN_PREFS_ROOT "/sound/command"); @@ -429,16 +430,19 @@ return; } + esc_filename = g_strdup_printf("'%s'", filename); + if(strstr(sound_cmd, "%s")) - command = purple_strreplace(sound_cmd, "%s", filename); + command = purple_strreplace(sound_cmd, "%s", esc_filename); else - command = g_strdup_printf("%s %s", sound_cmd, filename); + command = g_strdup_printf("%s %s", sound_cmd, esc_filename); if(!g_spawn_command_line_async(command, &error)) { purple_debug_error("gtksound", "sound command could not be launched: %s\n", error->message); g_error_free(error); } + g_free(esc_filename); g_free(command); return; }