Commit Graph

371 Commits

Author SHA1 Message Date
Yann Collet
9517bd9234 minor simplification lz4_readarch() 2015-08-06 03:49:29 +01:00
Yann Collet
dfabec2d18 Fixed a few minor visual analyzer warnings 2015-06-29 00:31:41 -08:00
Yann Collet
8901dcdc9d removed one malloc 2015-06-28 21:53:42 -08:00
Yann Collet
1098d897a0 lz4io : removed one malloc 2015-06-28 20:24:09 -08:00
Yann Collet
81f19264ab lz4cli : add one malloc test 2015-06-28 20:05:33 -08:00
Yann Collet
6fe48b9183 changed datagen to remove one malloc 2015-06-28 19:43:12 -08:00
Yann Collet
454d109c5d Fixed : fuzzer display messages 2015-06-27 13:44:13 -08:00
Yann Collet
caba2cc0f5 staticAnalyze use same compilation flags as normal build 2015-06-27 13:21:33 -08:00
Yann Collet
cdef033895 Merge branch 'dev' of github.com:Cyan4973/lz4 into dev 2015-06-27 01:17:57 -07:00
Yann Collet
02ff90ac94 Merge pull request #121 from keszybz/add-gitignore
Add gitignore - redirect from #117
2015-06-25 17:43:46 -07:00
Yann Collet
2ce2e60083 Minor doc clarification on sparse mode support 2015-06-21 20:00:44 -08:00
Zbigniew Jędrzejewski-Szmek
0e0c32dfb0 Make git ignore generated files 2015-06-15 21:50:00 -04:00
Yann Collet
7f3d82def8 Merge pull request #114 from lpsantil/djgpp
Djgpp
2015-05-28 03:04:17 +02:00
Louis P. Santillan
00b6535b4c Reverted all Makefile changes 2015-05-26 19:10:12 -07:00
Louis P. Santillan
b2bbb2790d Fixup programs/{Makefile,lz4cli.c,lz4io.c} to build with Andrew Wu's build-djgpp cross compilers. Add some documentation in README.DJ 2015-05-25 21:41:45 -07:00
Yann Collet
acae59a739 Fixed : default sparse mode disabled on stdout, to support >> redirection scenario reported by Takayuki Matsuoka (#110) 2015-05-25 07:50:41 +01:00
Yann Collet
26065c3f47 Fixed : LZ4IO exits too early when frame crc not present, reported by Yongwoon Cho (#106) 2015-05-20 08:58:59 +01:00
Yann Collet
87e560ed8a minor tests improvements 2015-05-19 10:29:41 +01:00
Yann Collet
a9ff13a8bb minor test refactor 2015-05-18 22:35:09 +01:00
Yann Collet
58b5aadb1f Fixed sparse issue with non seekable streams (#105) 2015-05-18 22:09:37 +01:00
Yann Collet
c779c8004c minor cosmetic changes for Takayuki's testVersions 2015-05-15 15:44:37 +01:00
Yann Collet
f02c4671cd Added a few more interoperability tests (32bits vs 64 bits) 2015-05-13 15:22:33 +01:00
Yann Collet
efbebd2a99 Added : LZ4_compress_destSize() 2015-05-06 02:29:04 +01:00
Yann Collet
1c3e633c48 Added compilation flag -Wcast-qual 2015-05-06 01:58:24 +01:00
Yann Collet
e05088d0eb Updated lz4hc API 2015-05-03 20:57:21 +01:00
Yann Collet
1b17bf2ab8 New lz4 API, using LZ4_compress_fast() 2015-05-03 17:57:46 +01:00
Yann Collet
791512cfdd Fixed bug 9318 2015-05-02 19:10:28 +01:00
Yann Collet
87a1c70ae4 Fixed minor static analyzer warning 2015-04-24 11:04:21 +01:00
Yann Collet
d6dc0a410d streaming API : Improved ring buffer management 2015-04-24 10:15:12 +01:00
Yann Collet
b805d581b9 Removed obsolete functions from lz4 cli 2015-04-21 19:07:31 +01:00
Yann Collet
f11afafe23 Removed LZ4_compress() (obsolete) from lz4 2015-04-21 18:31:35 +01:00
Yann Collet
cbcdd88ccb Fixed frame concatenation 2015-04-20 10:05:54 +01:00
Yann Collet
e18aa90798 Fixed frametest 2015-04-20 09:51:00 +01:00
Yann Collet
c035b7a99a Restored make-lz4 2015-04-20 09:26:16 +01:00
Yann Collet
197982ec6c Fixed unfinished frame (issue #75) 2015-04-20 09:24:25 +01:00
Yann Collet
409f816267 Updated LZ4F_getFrameInfo() behavior, related to uncomplete frame header decoding attempts 2015-04-19 15:23:53 +01:00
Yann Collet
47c3040399 added --no-sparse test 2015-04-18 12:44:38 +01:00
Yann Collet
9fd4f1f9f7 Sparse file support is now enabled by default 2015-04-17 19:42:07 +01:00
Yann Collet
7644bee643 test error message in multiple files mode 2015-04-16 16:45:58 +01:00
Yann Collet
bce2eeb9df Reclassified some notification messages as errors 2015-04-16 16:27:16 +01:00
Yann Collet
9e92bee044 stronger arm tests 2015-04-16 13:34:03 +01:00
Yann Collet
2ed9dcc900 fix minor "divide by zero" risk 2015-04-16 13:18:15 +01:00
Yann Collet
633c1ca810 fixed minor leak 2015-04-16 13:09:34 +01:00
Yann Collet
e328d41ef4 minor optimization for small files 2015-04-16 08:51:31 +01:00
Yann Collet
13c6e16333 Removed status notification in multiple-files mode 2015-04-16 07:16:48 +01:00
Yann Collet
a430b859cf Multiple files decompression refactoring 2015-04-15 16:24:43 +01:00
Yann Collet
4e574e7395 Updated lz4frame error names 2015-04-15 10:34:08 +01:00
Takayuki MATSUOKA
175890fe9b Issue#90 : Change old enum names to new one 2015-04-15 06:45:26 +09:00
Takayuki MATSUOKA
081bcca33b Issue#90 : Add LZ4F_ prefix
- Add LZ4F_ prefix to LZ4 frame related enums.
 - Also add conditional macro LZ4F_DISABLE_OLD_ENUMS for testing and users who prefer strict prefixes.
2015-04-15 06:45:24 +09:00
Yann Collet
3f4f623bc9 Valgrind tests generate errors 2015-04-14 21:02:12 +01:00
Yann Collet
05a46fc59a Changes LZ4F_compressBound() definition using NULL prefsPtr to cover worst case instead of default. 2015-04-14 18:51:36 +01:00
Yann Collet
348f5099e4 lz4io refactoring 2015-04-14 18:10:55 +01:00
Yann Collet
eabc6d8d00 New valgrind test with multiple files 2015-04-14 16:34:37 +01:00
Yann Collet
113b150f0a Fix leak issue with compression of multiple files 2015-04-14 16:05:02 +01:00
Yann Collet
c64200dd85 Improved performance when compressing a lot of small files 2015-04-14 00:07:30 +01:00
Yann Collet
cc24124014 minor compatibility fixes 2015-04-13 20:43:54 +01:00
Yann Collet
ccba7a0a29 Merge pull request #86 from KyleJHarper/origin/r129/multiple_inputs_patch
Origin/r129/multiple inputs patch
2015-04-13 21:03:51 +02:00
Kyle J Harper
7f2f1fcd55 Added support for continuation of file compression and decompression if input files are missing. Should more closely match gzip/bzip2/xz and so forth. Also removed a debug print accidentally left in. 2015-04-12 18:41:55 -05:00
Kyle J Harper
0169502b49 Added new LZ4IO_decompressMultipleFilenames to allow decompression of multiple files with the -m switch added in r128 (ref: google code issue 151). Limitation: will only process files matching LZ4_EXTENSION macro, which for now seems reasonable. 2015-04-12 17:33:40 -05:00
Yann Collet
da117257f5 new memory leak test for fullbench using multi-files 2015-04-12 16:49:37 +01:00
Yann Collet
2c7988761d Shortened tests durations 2015-04-12 16:40:58 +01:00
Yann Collet
8f49666cbc Fixed : minor coverity warning 2015-04-12 11:37:55 +01:00
Yann Collet
8a610004f6 Fixed a few coverity warnings 2015-04-12 09:42:58 +01:00
Yann Collet
81fdd9df23 Fixed a few Valgrind warnings 2015-04-12 09:29:52 +01:00
Yann Collet
66b8a4a8af Fixed : minor Visual warnings 2015-04-12 08:58:00 +01:00
Yann Collet
62ed153195 Fixed : a few minor coverity warnings 2015-04-12 08:21:35 +01:00
Yann Collet
973e385fa3 Implemented obsolete warning message 2015-04-11 18:59:22 +01:00
Yann Collet
8b8e5efefe fixed minor sanitize warning 2015-04-11 10:25:08 +01:00
Yann Collet
c22a0e1e13 Updated : fuzzer tests can be programmed for a timelength 2015-04-10 23:42:17 +01:00
Yann Collet
a2864fd49d Fixed a few minor sanitize warnings 2015-04-10 14:24:13 +01:00
Yann Collet
f344fbd3ca Fixed a few warnings from -fsanitize=undefined 2015-04-09 22:59:07 +01:00
Yann Collet
1853622360 fixed over-cautious visual warning 2015-04-08 10:35:38 +01:00
Yann Collet
327cb04f44 minor memory leak fix and test 2015-04-08 09:20:21 +01:00
Yann Collet
43e053513b fix g++ typecast 2015-04-07 07:14:32 +01:00
Yann Collet
17f86149c5 added : memtest on fullbench 2015-04-06 01:02:24 +01:00
Yann Collet
d38b0b607f Merge pull request #73 from funcodeio/dev
Removed unused lines.
2015-04-04 18:20:21 +02:00
Yongwoon Cho
dd699026e6 Removed unused lines. 2015-04-03 11:55:04 +09:00
Yann Collet
43eaf8f333 Merge pull request #72 from fzort/master
Rebase #71
2015-04-02 21:36:21 +02:00
Yann Collet
f72761ff44 new tests for large files with content size support (#70) 2015-04-02 15:11:22 +01:00
Yann Collet
90c0104c4e Added : progress indicator, in fast and decompression modes 2015-04-02 13:25:28 +01:00
mauro.persano
1d3ab5d85d Cygwin has fileno, so there's no need to use _fileno. 2015-04-01 15:47:24 -03:00
Yann Collet
78d2dfd427 fullbench : tests of _limitedOutput variants intentionnally provides less memory space than safe (LZ4_compressBound()) 2015-04-01 18:21:03 +01:00
Yann Collet
3bba55c741 Fixed : Windows compilation
Added : Appveyor badge
2015-03-31 14:47:23 +01:00
Yann Collet
8437a0e43a Fixed : Visual compilation 2015-03-31 13:17:38 +01:00
Yann Collet
4c227a487e Added LZ4_compress_fast() 2015-03-30 21:32:25 +01:00
Yann Collet
2a82619311 fixed fullbench memory allocation error 2015-03-30 18:39:29 +01:00
Yann Collet
8cb06d5b99 lz4frame validates contentSize during decompression 2015-03-29 13:28:32 +01:00
Yann Collet
d5da787c1b Changed struct member to contentSize 2015-03-29 11:20:09 +01:00
Yann Collet
b4755c7902 Added : arm cross-compilation test 2015-03-25 23:59:38 +01:00
Yann Collet
80e71c6e8b Updated man page : "--[no-]X" 2015-03-23 21:22:13 +01:00
Yann Collet
5950f72b9e Updated tests 2015-03-23 20:03:45 +01:00
Yann Collet
6b923d57a6 Updated long commands, with reverse "--no-" variants 2015-03-23 19:59:41 +01:00
Yann Collet
7f436a1215 lz4 cli supports frame content size 2015-03-23 02:20:42 +01:00
Yann Collet
a28b14731d removed useless man pages 2015-03-22 13:51:22 +01:00
Yann Collet
7cf4e5c941 Updates tests & Man pages 2015-03-22 13:42:00 +01:00
Yann Collet
f02adc7938 new long commands 2015-03-21 13:34:55 +01:00
Yann Collet
86715b2541 Some more tests related to frame content size 2015-03-19 01:05:59 +01:00
Yann Collet
7ee725645b frame content size support 2015-03-18 21:38:27 +01:00
Yann Collet
7d87d43e61 Updated lz4io sparse file support (alignment properties) 2015-03-17 18:02:01 +01:00
Yann Collet
da9402c6f5 minor lz4frame refactoring 2015-03-16 22:35:02 +01:00
Yann Collet
e7fb4d151d lz4 utility supports "pass-through" mode 2015-03-16 20:38:25 +01:00
Yann Collet
2a02455fdf minor refactoring 2015-03-16 19:19:39 +01:00
Yann Collet
3a6832497b skippable frames support 2015-03-16 17:52:14 +01:00
Yann Collet
c9a2b14113 removed -s command from lz4c specific list of legacy commands 2015-03-15 20:47:49 +01:00
Yann Collet
207aafd0dc Added : unlz4 symbolic link to "lz4 -d" 2015-03-15 20:42:40 +01:00
Yann Collet
2b55752a5c changed "make install" default install directory to /usr/local 2015-03-15 20:40:38 +01:00
Yann Collet
bbcfe2144d Added : clang test 2015-03-15 14:19:47 +01:00
Yann Collet
45b0642bf5 scan-build tests 2015-03-15 01:42:27 +01:00
Yann Collet
248b761f55 windows sparse file support 2015-03-13 22:15:08 +01:00
Yann Collet
d11ac40872 Improved sparse files support 2015-03-13 20:36:59 +01:00
Yann Collet
45a357fd17 Improved sparse file support 2015-03-13 02:24:08 +01:00
Yann Collet
12ab41571e Preliminary support for sparse files 2015-03-11 19:42:37 +01:00
Yann Collet
ceec6fa849 g++ compatibility 2015-03-10 16:57:42 +01:00
Yann Collet
6b0c39b839 Updated datagen (can create sparse files) 2015-03-10 00:12:51 +01:00
Yann Collet
e277511ab6 Merge pull request #54 from t-mat/gc-issue/155
Gc issue/155
2015-03-08 19:06:17 +01:00
Yann Collet
32a85fc76d NetBSD compatibility (#48) 2015-03-07 19:30:45 +01:00
Yann Collet
488029ec3b Updated : compress multiple files 2015-03-07 13:23:00 +01:00
Yann Collet
046bd3abee Merge pull request #52 from KyleJHarper/r128/multiple_inputs
Adding support for multiple file processing.  Fixes Google code issue 151.
2015-03-03 01:04:40 +01:00
Takayuki MATSUOKA
dcdd628d5e Fix sentinel bit pattern
Set all bits of U64.
2015-03-02 13:38:30 +09:00
Takayuki MATSUOKA
de5c930c90 Fix sentinel size miscalculation
Since is_nul() style wild-comparing stride is U64, we must add sizeof(U64) to the sentinel.
2015-03-02 13:38:29 +09:00
Takayuki MATSUOKA
eed7952101 Add GNU coreutil's is_nul() method to isSparse()
See original source
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/system.h
2015-03-02 13:38:28 +09:00
Takayuki MATSUOKA
b372f45093 Add Neil's method to isSparse() 2015-03-02 13:38:27 +09:00
Takayuki MATSUOKA
01a24afdcf Improve isSparse() 2015-03-02 13:38:25 +09:00
Takayuki MATSUOKA
4a5d92b1d9 Adjust coding style 2015-03-02 13:38:24 +09:00
Takayuki MATSUOKA
97679fa5a1 Google Code Issue 155: lz4 cli should support sparse file
https://code.google.com/p/lz4/issues/detail?id=155

This is experimental implementation. Just a proof of concept.
It works Linux and Windows.

# Build

To build experimental version, define 'LZ4IO_ENABLE_SPARSE_FILE' like the following command :

    make lz4programs 'CFLAGS=-O3 -DLZ4IO_ENABLE_SPARSE_FILE=1'
    ./programs/lz4 -h

You will see "EXPERIMENTAL_SPARSE_FILE" as lz4 revision :

    "*** LZ4 command line interface 64-bits EXPERIMENTAL_SPARSE_FILE, by Yann Collet (...) ***"

# Experiment

This experimental version adds option "-x" for sparse file for decompression.
You can use this option like this :

    ./programs/lz4 -9 -f my-file
    ./programs/lz4 -d -f -x my-file.lz4 my-file.lz4.out
    cmp my-file my-file.lz4.out
2015-03-02 13:38:23 +09:00
kyle
fa27d236b4 Added support for multiple input files to act more like other compressors. For example: gzip file1 file2 file3. You can now do: lz4 [args] -m file1 file2 file3. Fixes 151. 2015-03-01 19:00:40 -06:00
Yann Collet
67f3b4141a Merge pull request #49 from t-mat/msvc-fseeki64
Avoid MSVC fseek()'s 2GiB barrier
2015-03-02 00:41:38 +01:00
Yann Collet
e68d1c98c1 restored lz4 hc compression ratio 2015-03-02 00:11:34 +01:00
Takayuki MATSUOKA
41b6ed3c5b Replace fseek with _fseeki64 to avoid MSVC's 2GiB barrier
Since MSVC fseek()'s SEEK_CUR mode has 2GiB barrier, our fseek() calling in program/lz4io.c/selectDecoder() will fail for large (>2GiB) .lz4 file.
This commit just replace fseek with _fseeki64 by macro. Second argument is automatically casted to __int64 (signed 64bit integer). Other things are completely same.
2015-02-14 12:48:11 +09:00
Yann Collet
f68eead36c Added : -pedantic compilation option 2014-12-17 12:32:49 +01:00
Yann Collet
0569a68edd C90 compatibility 2014-12-17 12:20:17 +01:00
Yann Collet
8a9fb8cf32 Fixed : older compiler don't like nameless unions, reported by Cheyi Lin 2014-12-16 22:03:16 +01:00
Yann Collet
95cc6cef64 Fixed : bug within LZ4 HC streaming mode, reported by James Boyle 2014-12-16 02:13:19 +01:00
Yann Collet
daa320f3f7 New : lz4frame integrated into liblz4 (v1.5.0) 2014-12-13 15:05:46 +01:00
Yann Collet
7dd50ed2f6 minor memtest correction 2014-12-10 23:00:50 +01:00
Yann Collet
e68d7dcf22 Fixed : LZ4_compress_limitedOutput() bug, as reported by Christopher Speller 2014-12-10 17:58:15 +01:00
Yann Collet
3477cbac73 stronger tests for LZ4_compress_limitedOutput() 2014-12-10 09:05:44 +01:00
Yann Collet
c5decf7562 minor refactoring 2014-12-06 17:10:54 +01:00
Yann Collet
9f6826fdc9 lz4cli : legacy arguments are now disabled by default 2014-12-01 01:25:18 +01:00
Yann Collet
d008c87151 New directory structure : library source files into /lib directory 2014-11-30 23:32:12 +01:00
Yann Collet
6de52c2a8c LZ4IO : modified to use lz4frame instead 2014-11-30 17:59:31 +01:00
Yann Collet
d0a6cccf75 Fixed : some minor Visual warnings 2014-11-30 12:58:00 +01:00
Yann Collet
326cada9fa Updated lz4hc : re-use most shared elements from lz4 (endianess / align / bus detection routines) 2014-11-29 20:19:39 +01:00
Yann Collet
dc43a1f6b5 Fixed : decompression issue on 32-bits CPU without unaligned memory access 2014-11-29 16:41:28 +01:00
Yann Collet
2d98faf238 Improved decoding speed 2014-11-27 22:44:36 +01:00
Yann Collet
86fa21b301 Added : $(EXT) within install for cross-compilation support 2014-11-23 18:36:04 +01:00
Yann Collet
2ad37dbe58 Corrected lz4io 2014-11-23 01:14:04 +01:00
Yann Collet
73554386ed Makefile : refactored Travis CI tests 2014-11-04 20:56:38 +01:00
Yann Collet
89d8b98d0d Fixed issue 44 : stopped concatenated stream on null size frame (thanks to Brendan O'Connor) 2014-11-04 12:11:14 +01:00
Yann Collet
d01bb4a193 Makefile : added -Wcast-align compilation warning 2014-11-04 10:32:50 +01:00