file-roller r2318 - in trunk: . src



Author: paobac
Date: Wed Jun 11 10:38:47 2008
New Revision: 2318
URL: http://svn.gnome.org/viewvc/file-roller?rev=2318&view=rev

Log:
2008-06-11  Paolo Bacchilega  <paobac svn gnome org>

	* src/fr-command-rpm.c (fr_command_rpm_list, fr_command_rpm_extract): 
	insert the pipe in a single argument.

Modified:
   trunk/ChangeLog
   trunk/src/fr-command-rpm.c

Modified: trunk/src/fr-command-rpm.c
==============================================================================
--- trunk/src/fr-command-rpm.c	(original)
+++ trunk/src/fr-command-rpm.c	Wed Jun 11 10:38:47 2008
@@ -161,9 +161,7 @@
 
 	fr_process_begin_command (comm->process, "sh");
 	fr_process_add_arg (comm->process, "-c");
-	fr_process_add_arg (comm->process, "rpm2cpio");
-	fr_process_add_arg (comm->process, comm->filename);
-	fr_process_add_arg (comm->process, "| cpio -itv");
+	fr_process_add_arg_concat (comm->process, "rpm2cpio ", comm->e_filename, " | cpio -itv", NULL);
 	fr_process_end_command (comm->process);
 	fr_process_start (comm->process);
 }
@@ -178,20 +176,26 @@
 			gboolean    junk_paths,
 			const char *password)
 {
-	GList *scan;
-
+	GList   *scan;
+	GString *cmd;
+	
 	fr_process_begin_command (comm->process, "sh");
-	fr_process_add_arg (comm->process, "-c");
-	fr_process_add_arg (comm->process, "rpm2cpio");
 	if (dest_dir != NULL)
                 fr_process_set_working_dir (comm->process, dest_dir);
-	fr_process_add_arg (comm->process, comm->filename);
-	fr_process_add_arg (comm->process, "| cpio -idu");
+	fr_process_add_arg (comm->process, "-c");
+	
+	cmd = g_string_new ("rpm2cpio ");
+	g_string_append (cmd, comm->e_filename);
+	g_string_append (cmd, " | cpio -idu ");
 	for (scan = file_list; scan; scan = scan->next) {
 		char *filename = g_shell_quote (scan->data); 
-		fr_process_add_arg (comm->process, filename);
+		g_string_append (cmd, filename);
 		g_free (filename);
+		g_string_append (cmd, " ");
 	}
+	fr_process_add_arg (comm->process, cmd->str);
+	g_string_free (cmd, TRUE);
+	
 	fr_process_end_command (comm->process);
 	fr_process_start (comm->process);
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]