Blob Blame History Raw
Revert https://github.com/jnovy/pxz/commit/fa3194ea0bf87ce377d5cec30fdcdb96db750896
as it actually makes pxz quite unusable, see https://github.com/jnovy/pxz/issues/34

diff --git a/pxz.c b/pxz.c
index 74c7eae..be07845 100644
--- a/pxz.c
+++ b/pxz.c
@@ -132,13 +132,13 @@ const struct option long_opts[] = {
 	{ NULL,             0,                 NULL,   0 }
 };
 
-void __attribute__((noreturn)) run_xz( char **argv, char **envp ) {
-	execve(XZ_BINARY, argv, envp);
+void __attribute__((noreturn)) run_xz( char **argv ) {
+	execvp(XZ_BINARY, argv);
 	error(0, errno, "execution of "XZ_BINARY" binary failed");
 	exit(EXIT_FAILURE);
 }
 
-void parse_args( int argc, char **argv, char **envp ) {
+void parse_args( int argc, char **argv ) {
 	int c;
 	
 	opterr = 0;
@@ -184,11 +184,11 @@ void parse_args( int argc, char **argv, char **envp ) {
 					"  -D, --context-size  per-thread compression context size as a multiple\n"
 					"                      of dictionary size. Default is 3.\n\n"
 					"Usage and other options are same as in XZ:\n\n");
-				run_xz(argv, envp);
+				run_xz(argv);
 				break;
 			case 'V':
 				printf("Parallel PXZ "PXZ_VERSION" (build "PXZ_BUILD_DATE")\n");
-				run_xz(argv, envp);
+				run_xz(argv);
 				break;
 			case 'g':
 				opt_lzma_check = LZMA_CHECK_CRC32;
@@ -197,7 +197,7 @@ void parse_args( int argc, char **argv, char **envp ) {
 			case 't':
 			case 'l':
 			case '?':
-				run_xz(argv, envp);
+				run_xz(argv);
 			default:
 				break;
 		}
@@ -246,7 +246,7 @@ int close_stream( FILE *f ) {
 	return 0;
 }
 
-int main( int argc, char **argv, char **envp ) {
+int main( int argc, char **argv ) {
 	int i;
 	uint64_t p, threads, chunk_size;
 	uint8_t *m;
@@ -271,7 +271,7 @@ int main( int argc, char **argv, char **envp ) {
 	}
 	snprintf(xzcmd, xzcmd_max, XZ_BINARY);
 	
-	parse_args(argc, argv, envp);
+	parse_args(argc, argv);
 
 	lzma_lzma_preset(&lzma_options, opt_complevel);