Eric Biggers
f100a42c02
gzip, gunzip: require -f or -c to (de)compress symlink
...
This matches the behavior of GNU gzip.
2016-10-23 13:54:53 -07:00
Eric Biggers
e4029d1e70
gzip, gunzip: warning rather than error when output file already exists
...
This matches the behavior of GNU gzip.
2016-10-23 13:54:53 -07:00
Eric Biggers
618958f4dd
gunzip: automatically append suffix to find input file if needed
2016-10-23 13:54:53 -07:00
Eric Biggers
f3861da7cd
prog_util: use 64-bit 'struct stat' on Windows and support stat()
2016-10-23 13:54:53 -07:00
Eric Biggers
4dbc5173b6
prog_util: always use 64-bit utime() on Windows
2016-10-23 13:54:53 -07:00
Eric Biggers
e7152b4866
gzip, gunzip: forbid empty suffix
...
This matches the behavior of GNU gzip.
2016-10-23 13:54:52 -07:00
Eric Biggers
ed923c45d4
gzip: use success status when file already has compressed suffix
...
This matches the behavior of GNU gzip.
2016-10-23 13:54:52 -07:00
Eric Biggers
b620773954
gzip, gunzip: don't add dot to user-specified suffix
...
This matches the behavior of GNU gzip.
2016-10-23 13:54:52 -07:00
Eric Biggers
0205f005bc
deflate_compress: don't pass NULL to memcpy on empty input
2016-10-23 13:54:52 -07:00
Eric Biggers
2b047b097b
gzip: allow compressing empty files
2016-10-23 13:54:52 -07:00
Eric Biggers
8d0a43ac2e
gzip: detect gunzip if invoked as libdeflate-gunzip
2016-10-22 14:57:00 -07:00
Eric Biggers
1cc88c6f86
prog_util: remove unused skip_bytes() function
2016-10-16 18:16:38 -07:00
Eric Biggers
31c4ac39a7
programs: fix signs of some exit statuses
2016-10-16 17:37:32 -07:00
Eric Biggers
e20e275081
prog_util: use QueryPerformanceCounter() on Windows
...
QueryPerformanceCounter() is much more accurate than
GetSystemTimeAsFileTime().
Also avoid converting into a specific time unit until the results need
to be displayed. This is more efficient and avoids losing precision.
2016-10-16 14:20:18 -07:00
Eric Biggers
7662390f55
run_tests.sh: fix Android device detection
2016-10-16 12:14:21 -07:00
Eric Biggers
14007c05fa
run_tests.sh: improve reporting of Android test failures
2016-10-16 12:14:16 -07:00
Eric Biggers
0cd875d811
run_tests.sh: improve/fix test group handling
2016-10-16 12:13:02 -07:00
Eric Biggers
b16dc97e3b
v0.5
v0.5
2016-10-15 22:05:14 -07:00
Eric Biggers
b83957e624
Remove run_tests.log in 'make realclean'
2016-10-15 22:05:07 -07:00
Eric Biggers
6879294990
Add script to run Adler-32 and CRC-32 benchmarks
2016-10-15 21:57:00 -07:00
Eric Biggers
c37a251655
New test program: checksum
2016-10-15 20:38:34 -07:00
Eric Biggers
1190be5a68
run_tests.sh: include test programs in static analysis
2016-10-15 20:38:29 -07:00
Eric Biggers
146d91c03f
Test script improvements
2016-10-15 18:57:36 -07:00
Eric Biggers
512c035073
New program: test_checksums
2016-10-15 18:49:35 -07:00
Eric Biggers
561f64a925
Makefile: make it easier to add new programs
2016-10-15 18:49:35 -07:00
Eric Biggers
658dfac92c
Provide adler32 and crc32 in library API
2016-10-15 16:25:51 -07:00
Eric Biggers
0c043dd602
Add PCLMUL-accelerated CRC-32
2016-10-15 11:01:18 -07:00
Eric Biggers
06090bd26f
detect.sh should be passed PROG_CFLAGS as CFLAGS
2016-10-06 19:57:39 -07:00
Eric Biggers
64dc75786d
Detect nonstandard or missing nanosecond-precision stat timestamps
...
Reported-by: maarten-k <maarten.kooyman@surfsara.nl>
2016-09-23 23:12:16 -07:00
Eric Biggers
76dcdec6f0
x86_cpu_features: detect carryless multiplication support
2016-09-10 10:37:21 -07:00
Eric Biggers
9c5c05201a
AVX2 Adler-32 actually requires gcc 4.9+
2016-09-09 21:53:08 -07:00
Eric Biggers
36f8286db7
Use shuffle+add instead of vector subscripting in SSE2 Adler-32
...
Shuffle+add is more efficient and also works on gcc versions that don't
support subscripting of vector types (pre-4.6).
2016-09-09 21:25:23 -07:00
Eric Biggers
7d3e2a997c
Update licensing status
...
I've decided to simplify and standardize the licensing status for the
library by using the MIT license instead of CC0 (a.k.a. "public
domain"). This eliminates the somewhat controversial 4(a) clause in
CC0, and, for this and other reasons, should (somewhat ironically) make
it easier for some people to use and contribute to the project.
Note: copyright will apply to new changes and to new versions of the
work as a whole. Of course, versions previously released as public
domain remain public domain where legally recognized.
2016-09-09 19:34:58 -07:00
Eric Biggers
1286b4ddcb
v0.4
v0.4
2016-09-07 21:39:47 -07:00
Eric Biggers
015e95040c
Remove leading underscores from include guards
2016-09-05 13:53:38 -07:00
Eric Biggers
f2b401539c
Pass CFLAGS to detect.sh
...
Needed when cross-compiling with clang.
2016-09-05 00:02:18 -07:00
Eric Biggers
8081ce7853
Improved Android test script
2016-09-05 00:02:18 -07:00
Eric Biggers
63598528fb
adler32_impl.h: minor tweaks
2016-09-04 11:09:17 -07:00
Eric Biggers
e9a956efca
Avoid "exporting" symbols from static library
...
It was reported that API symbols were being "exported" from the static
library built with MSVC, causing them to remain exported after being
linked into another program. It turns out this was actually a problem
outside of MSVC as well. The solution is to always build the static and
shared libraries from different object files, where the API symbols are
exported from the shared library object files but not from the static
library object files.
Reported-by: Joergen Ibsen <ji@ibse.dk>
2016-09-04 01:18:26 -07:00
Eric Biggers
1bd972195e
Vectorized Adler-32 optimizations and cleanups
2016-09-04 01:18:26 -07:00
Eric Biggers
a525da5ba7
Add NEON-accelerated Adler-32
2016-09-03 16:02:14 -07:00
Eric Biggers
c2c8005591
Add tools/arm64_test.sh
2016-09-03 16:02:13 -07:00
Eric Biggers
683832e824
tools/arm_test.sh: push testdata only if needed
2016-09-03 16:02:12 -07:00
Eric Biggers
2dafb65f28
Test for __ARM_NEON, not __ARM_NEON__
2016-09-03 16:02:11 -07:00
Eric Biggers
81e45b86e2
Add SSE2 and AVX2 accelerated Adler-32
2016-08-31 23:53:25 -07:00
Eric Biggers
c4f51b1311
Rename heapsort() to heap_sort() to avoid naming collision
2016-08-29 00:09:39 -07:00
Eric Biggers
e603f7868d
aligned_malloc: store pointer directly
2016-08-28 00:20:49 -07:00
Eric Biggers
18b149f52e
Drop 'unsigned' from compression_level argument
2016-08-27 23:15:47 -07:00
Eric Biggers
268d2fe602
libdeflate.h: add note about thread-safety
2016-08-27 23:13:20 -07:00
Eric Biggers
3992efa340
Update API to avoid naming collisions
2016-08-27 23:11:32 -07:00