Commit Graph

270 Commits

Author SHA1 Message Date
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
Yann Collet
7050d4b767 Updated unsynchronized buffers tests 2014-11-04 10:04:37 +01:00