Blob Blame Raw
diff -Naur xarchiver-0.5.2.orig/src/window.c xarchiver-0.5.2/src/window.c
--- xarchiver-0.5.2.orig/src/window.c	2012-01-12 13:28:54.000000000 +0100
+++ xarchiver-0.5.2/src/window.c	2012-01-23 20:43:49.622745851 +0100
@@ -1724,6 +1724,9 @@
 			gtk_tree_selection_selected_foreach (selection,(GtkTreeSelectionForeachFunc) xa_concat_selected_filenames,&names);
 			archive->full_path = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->extract_full));
 			archive->overwrite = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON (extract_window->overwrite_check));
+			gchar *unescaped_extraction_path = archive->extraction_path;
+			archive->extraction_path = xa_escape_filename(unescaped_extraction_path, "$'`\"\\!?* ()[]&|:;<>#");
+			g_free(unescaped_extraction_path);
 			(*archive->extract) (archive,names);
 
 			g_list_foreach (row_list,(GFunc) gtk_tree_path_free,NULL);