Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 14 Jul 2013 10:28:36 GMT
From:      dpl@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r254777 - soc2013/dpl/head/contrib/xz/src/xz
Message-ID:  <201307141028.r6EASa1H002981@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307141028.r6EASa1H002981>