Commit Graph

582 Commits

Author SHA1 Message Date
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
Yann Collet
118296aeb0 variable ref renamed 2014-12-02 23:57:15 +01:00
Yann Collet
67c25a5c1b lz4frame.h : clarified a few comments 2014-12-01 22:00:07 +01:00
Yann Collet
c0320cb000 Merge pull request #37 from Cyan4973/newDir
New dir
2014-12-01 14:06:30 +01:00
Yann Collet
9f6826fdc9 lz4cli : legacy arguments are now disabled by default 2014-12-01 01:25:18 +01:00
Yann Collet
a109c91818 Fixed : make dist 2014-12-01 01:20:42 +01:00
Yann Collet
9523101aff Clarified some file names 2014-12-01 00:53:20 +01:00
Yann Collet
989346b75e fix : sudo for make install 2014-11-30 23:37:55 +01:00
Yann Collet
bf79270ced 2014-11-30 23:34:29 +01:00
Yann Collet
d008c87151 New directory structure : library source files into /lib directory 2014-11-30 23:32:12 +01:00
Yann Collet
80030c16ff Update cmakelist to support new lz4io version 2014-11-30 18:04:32 +01:00
Yann Collet
6de52c2a8c LZ4IO : modified to use lz4frame instead 2014-11-30 17:59:31 +01:00
Yann Collet
dee47d11be Merge pull request #36 from Cyan4973/AlignEndian
Align endian
2014-11-30 13:54:04 +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
6658c49a97 Improved compression speed on big endian CPU 2014-11-29 17:44:33 +01:00
Yann Collet
33dca250ee minor : fixed warning under clang 2014-11-29 17:12:26 +01:00