socsvn commit: r254777 - soc2013/dpl/head/contrib/xz/src/xz

dpl at FreeBSD.org dpl at FreeBSD.org
Sun Jul 14 10:28:36 UTC 2013


Author: dpl
Date: Sun Jul 14 10:28:36 2013
New Revision: 254777
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=254777

Log:
  Changed to use file opener functions.
  

Modified:
  soc2013/dpl/head/contrib/xz/src/xz/main.c

Modified: soc2013/dpl/head/contrib/xz/src/xz/main.c
==============================================================================
--- soc2013/dpl/head/contrib/xz/src/xz/main.c	Sun Jul 14 07:58:10 2013	(r254776)
+++ soc2013/dpl/head/contrib/xz/src/xz/main.c	Sun Jul 14 10:28:36 2013	(r254777)
@@ -207,10 +207,14 @@
 	if (opt_mode != MODE_LIST)
 		signals_init();
 
+	// Separate opening the files from list_file() and coder_run()
+	// We have to limit both functions with Capsicum.
+	file_pair * (*open)(const char **filename, int files) = opt_mode == MODE_LIST
+			 ? &io_list_open : &io_coder_open;
+
 	// coder_run() handles compression, decompression, and testing.
 	// list_file() is for --list. 
-	// We have to limit both functions with Capsicum.
-	void (*run)(const char *filename) = opt_mode == MODE_LIST
+	void (*run)(const file_pair *pairs, int files) = opt_mode == MODE_LIST
 			 ? &list_file : &coder_run;
 
 	// Process the files given on the command line. Note that if no names
@@ -245,12 +249,12 @@
 			// handling the special case of stdin.
 			args.arg_names[i] = (char *)stdin_filename;
 			files++;
-
-/*			// Do the actual compression/decompression.*/
-/*			run(args.arg_names[i]);*/
 		}
 	}
 
+	file_pair pairs[files] = open(args.arg_names, files);
+	cap_init();
+	run(pairs, files);
 
 	// If --files or --files0 was used, process the filenames from the
 	// given file or stdin. Note that here we don't consider "-" to


More information about the svn-soc-all mailing list