2
0
mirror of https://github.com/vasi/pixz synced 2024-10-30 15:21:41 +00:00
Commit Graph

253 Commits

Author SHA1 Message Date
Dave Vasilevsky
446087ed7a use binary mode for win files 2023-12-04 01:45:13 -05:00
Dave Vasilevsky
cb961a54b0 detect windows cpus 2023-11-30 19:22:04 -05:00
Dave Vasilevsky
670ddc7c90
Merge pull request #108 from Redfoxymoon/master
midipix support
2023-09-13 17:45:40 -04:00
Dave Vasilevsky
8155addb46
Merge pull request #105 from usefulcat/master
Bug fix for segfault
2023-09-13 17:45:17 -04:00
Ørjan Malde
84e6df8d0c midipix support 2022-12-08 15:37:25 +01:00
Dave Vasilevsky
d2131cc19f
Merge pull request #107 from wsldankers/sched_getaffinity
Only use available CPUs
2022-10-30 21:13:11 -04:00
Wessel Dankers
6a9443d955
Only use available CPUs
Not all online CPUs may be available for the current process,
especially when CPU affinity is involved. In such cases too many
threads will be created, which will unnecessarily compete for CPU
time.

Use sched_getaffinity() (if available) to determine the correct
number of threads to create.
2022-10-30 18:06:51 +01:00
Scott McCaskill
57d9add97f minor optimization
Don't hold queue mutex while calling malloc/free
2022-08-29 15:27:51 -05:00
Scott McCaskill
9c3aab2f5d Bug fix for segfault
In read_thread(), in the "Do we need this block?" block, it failed
to advance to the next wanted_t when w->end is exactly equal to uend.

In the particular case I looked at, this resulted in read_thread()
erroneously putting two blocks into the queue (pipeline_split(),
read.c:570) instead of one.

This resulted in a subsequent crash in tar_read() at read.c:660,
where gArWanted was null (when clearly the code does not expect it
to be null at that point).

My use case:

I have several hundred large .tar.xz files (created by pixz). Each
archive contains over 200k files. I frequently need to extract a lot
of files from each archive, but not all files, only a specific subset.
So I am making heavy use of the -x option to pixz.
2022-08-29 14:48:44 -05:00
Dave Vasilevsky
f1b1b5f8af
Merge pull request #104 from silwol/dev/cppcheck-uninitialized-variables
Fix cppcheck 2.8 uninitialized variables warnings
2022-06-14 20:34:24 -04:00
Wolfgang Silbermayr
2f4db11558 Fix cppcheck 2.8 uninitialized variables warnings 2022-05-27 09:38:11 +02:00
Dave Vasilevsky
1eb74e8ee8
Merge pull request #101 from teran/add-version-flag
Add -V flag to print application version
2022-01-23 00:54:47 -05:00
Igor Shishkin
631c916068
Add -V flag to print application version
Signed-off-by: Igor Shishkin <me@teran.ru>
2022-01-22 01:24:44 +03:00
Dave Vasilevsky
0829c7315c more portable permission test 2021-01-24 07:15:40 -05:00
Dave Vasilevsky
3c7e8bc68c
Merge pull request #91 from kit-ty-kate/patch-1
Do not return exit status 2 when given -h
2020-12-16 12:43:40 -05:00
Kate
57de570db7
Do not return exit status 2 when given -h
This is rather surprising for pixz to "fail" when giving `--help`/`-h`.
2020-12-15 20:09:20 +00:00
Dave Vasilevsky
ec33de7b18
Merge pull request #90 from vasi/vasi-small-concat
fix decompressing concatenated small files
2020-11-15 17:44:33 -05:00
Dave Vasilevsky
1aeb09b868 fix decompressing concatenated small files 2020-11-15 17:40:43 -05:00
Dave Vasilevsky
1d2cec0b61
Merge pull request #88 from ffontaine/master
configure.ac: replace AC_CHECK_FILE
2020-10-14 02:05:48 -04:00
Fabrice Fontaine
4ddfdca841 configure.ac: replace AC_CHECK_FILE
AC_CHECK_FILE can't be used when cross-compiling so replace it by a
simple test -f

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
2020-10-12 22:42:23 +02:00
Dave Vasilevsky
1e3f509148 update dates 2020-08-18 00:22:41 -04:00
Dave Vasilevsky
573e4a8d2c release 1.0.7 2020-07-26 16:34:00 -04:00
Dave Vasilevsky
29e57ec102 Make building clean on linux, use config.h 2020-04-25 19:41:03 -04:00
Dave Vasilevsky
49acde1e50 Change include on Macs, why was this changed to OS/2? 2020-04-25 19:39:01 -04:00
Dave Vasilevsky
f385e7be8a fix linkage 2020-04-25 19:16:05 -04:00
Dave Vasilevsky
4a03d0a1fe fix indent 2020-04-25 19:13:52 -04:00
Dave Vasilevsky
6b74c1f81f
Merge pull request #82 from mattst88/unaligned
Avoid unaligned accesses
2019-10-16 20:08:09 -04:00
Matt Turner
8b9a198d86 Avoid unaligned accesses
Architectures like SPARC do not allow unaligned accesses. Avoid them by
memcpy()ing the data to an aligned buffer. On x86 systems where
unaligned loads are fast, the memcpy() will be compiled away and the
same code generated as before.
2019-09-01 23:58:26 -07:00
Dave Vasilevsky
00e62fe45a
Merge pull request #77 from steini2000/master
fix decompressing files >4gb on 32bit systems
2019-07-10 00:28:19 -04:00
Dave Vasilevsky
a2d9b67f40
Merge pull request #78 from clandmeter/bashism
use posix shell for tests
2019-07-10 00:27:45 -04:00
Carlo Landmeter
e33f9a5454 use posix shell for tests 2018-02-19 18:56:43 +00:00
steini2000
26e4b77b9e
fix decompressing files >4gb on 32bit systems
On 32bit systems, size_t is only 32bit and overflows on file size >4GB.
2018-02-11 00:37:57 +01:00
Christian Krause
4f079c33a2
update travis instructions
This now uses the faster, docker-based infrastructure of Travis.
2017-05-12 18:41:39 +02:00
Philipp Kern
943932c0e8 Fix an off-by-one error that causes memory corruption.
We read up to bsize bytes from gInFile, so allocate as much memory.
2017-05-11 12:20:18 +02:00
Christian Krause
75f27d8850 fixes pkg-config flags 2016-12-22 18:42:58 +01:00
Christian Krause
cbeac7cd5f Merge branch 'master' of github.com:vasi/pixz 2016-04-22 14:24:05 +02:00
Christian Krause
7504c11378 adds missing newline in help 2016-04-22 14:23:46 +02:00
Christian Krause
d2d7203969 Merge pull request #61 from kraj/master
Musl inspired general fixes
2016-03-27 09:27:29 +02:00
Khem Raj
5ed67fc86f endian: Use macro bswap_64 instead of __bswap_64
byteswap.h defines then as public APIs on all libc
on linux including musl

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-22 07:47:52 +00:00
Khem Raj
a224836798 configure: Detect headers before using them
Current logic does not work when system does not have
sys/endian.h, since it tried to reuse the cached results
from first try of detecting htole64 in sys/endian.h which is
'no' and hence the second try to look into endian.h also
comes out negative.

So we check for header and then run the test for symbols
and these symbols are not standard and we need to define _GNU_SOURCE
for it to work, this issue is exposed by systems using musl e.g.

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-03-22 07:47:45 +00:00
Christian Krause
936d8068ae option to not build man page
fixes #56
2015-12-26 14:36:17 +01:00
Christian Krause
e044a6d041 release version 1.0.6 2015-11-05 22:59:56 +01:00
Christian Krause
c8f14d0f06 fixes #55 2015-11-05 22:53:18 +01:00
Christian Krause
7fb07efef7 print fseeko error 2015-11-04 13:40:40 +01:00
Christian Krause
8879834e8a release version 1.0.5 2015-09-21 12:56:35 +02:00
Christian Krause
b263b1c6e1 Merge pull request #53 from wookietreiber/endian-conversion-checks
autoconf checks for htole64 and le64toh
2015-09-21 12:46:45 +02:00
Christian Krause
5d831e6d1b autoconf checks for htole64 and le64toh
- addresses #52
2015-09-20 21:49:33 +02:00
Christian Krause
8d318b90fc release version 1.0.4 2015-09-18 20:46:56 +02:00
Christian Krause
7140800fe5 Merge pull request #51 from wookietreiber/include-man-pages-in-release
include man page in release tarball
2015-09-18 20:41:10 +02:00
Christian Krause
ebebf82439 include man page in release tarball
- adds man page to `EXTRA_DIST`
- `configure` checks for `a2x` only if the man page does not exist (poor
  mans way of checking if we build from git or release tarball)
- fixes #50
2015-09-18 18:56:47 +02:00