Commit Graph

548 Commits

Author SHA1 Message Date
Yann Collet
45a357fd17 Improved sparse file support 2015-03-13 02:24:08 +01:00
Yann Collet
e38c268b5a Fixed minor g++ warnings 2015-03-11 20:11:14 +01:00
Yann Collet
12ab41571e Preliminary support for sparse files 2015-03-11 19:42:37 +01:00
Yann Collet
e3f33d2579 Fixed minor warnings 2015-03-11 18:38:44 +01:00
Yann Collet
74a6b14f29 Merge pull request #57 from alexDarcy/master
Updated Cmake configuration for non-gnu compiler v2
2015-03-11 14:35:47 +01:00
alexDarcy
f2cc4bed93 Updated Cmake configuration for non-gnu compiler 2015-03-11 11:13:20 +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
e1d9b593e1 Fixed : static library (x64 binary) 2015-03-08 12:50:40 +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
8f4e201a06 Fix : lz4frame.h within uninstaller 2015-01-21 18:03:17 +01:00
Yann Collet
9fd92def42 Added : Visual project directory 2015-01-13 05:36:58 +01:00
Yann Collet
e25b51de7b Merge pull request #47 from Cyan4973/dev
Dev
2014-12-19 09:51:32 +01: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
7a8cd69960 Fixed : GCC 4.9 bug on highest performance settings, reported by Greg Slazinski 2014-12-14 14:29:15 +01:00
Yann Collet
12adbcaebc Updated comments 2014-12-13 17:08:51 +01:00
Yann Collet
b6788b004d fixed travis tests 2014-12-13 16:41:05 +01:00
Yann Collet
cbefc2bf7d Fixed : install test on travis 2014-12-13 15:38:15 +01:00
Yann Collet
daa320f3f7 New : lz4frame integrated into liblz4 (v1.5.0) 2014-12-13 15:05:46 +01:00
Yann Collet
8f844fe700 Fixed : minor warnings under Visual 2014-12-13 11:49:55 +01:00
Yann Collet
a5358e602a Merge pull request #43 from Cyan4973/dev
Dev
2014-12-11 07:21:54 +01:00
Yann Collet
7dd50ed2f6 minor memtest correction 2014-12-10 23:00:50 +01:00
Yann Collet
3060277a4a updated NEWS 2014-12-10 18:02:40 +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
6988c248d6 Merge pull request #41 from Cyan4973/dev
fixed : pkg version
2014-12-09 13:45:21 +01:00
Yann Collet
fc4a6153b0 fixed : pkg version 2014-12-09 09:47:54 +01:00
Yann Collet
19fcc54921 Merge pull request #40 from Cyan4973/dev
minor refactoring
2014-12-08 13:41:11 +01:00
Yann Collet
c5decf7562 minor refactoring 2014-12-06 17:10:54 +01:00
Yann Collet
0cbc7c8c04 Merge pull request #39 from Cyan4973/dev
Dev
2014-12-05 22:52:25 +01:00
Yann Collet
b827ecf728 Clarified a few comments 2014-12-03 23:19:11 +01:00
Yann Collet
18b3ef9873 Merge pull request #38 from Cyan4973/newDir
New dir
2014-12-03 19:40:23 +01:00
Yann Collet
65ee6b09c4 Fixed : deprecated function LZ4_slideInputBufferHC() 2014-12-03 19:17:10 +01:00