Commit Graph

150 Commits

Author SHA1 Message Date
Przemyslaw Skibinski
ef54f9f9dd added --rm option 2016-11-07 14:50:58 +01:00
Przemyslaw Skibinski
98be008479 Copy owner, file permissions and modification time 2016-11-07 12:41:14 +01:00
Nick Terrell
136caa552b Rename passThrough to testMode 2016-11-03 18:50:25 -07:00
Nick Terrell
3dcafd35d4 Fix test mode and write to null
Fix test mode to not always return success.
Don't ask for permission to overwrite `nulmark`.

Before:

    > echo "hello world" > file
    > lz4 -t file
    successfully decoded 12 bytes
    > lz4 -tf file
    successfully decoded 12 bytes
    > lz4 file null
    Warning : /dev/null already exists
    Overwrite ? (Y/n) : n
    Error 12 : No. Operation aborted : /dev/null already exists
    > lz4 file /dev/null
    Warning : /dev/null already exists
    Overwrite ? (Y/n) : n
    Error 12 : No. Operation aborted : /dev/null already exists

After:

    > lz4 -t file
    Error 44 : Unrecognized header : file cannot be decoded
    > lz4 -tf file
    Error 44 : Unrecognized header : file cannot be decoded
    > lz4 file null
    Compressed 12 bytes into 31 bytes ==> 258.33%
    > lz4 file /dev/null
    Compressed 12 bytes into 31 bytes ==> 258.33%
2016-11-03 15:41:09 -07:00
Yann Collet
99d11120bd Merge pull request #249 from inikep/dev
Dev
2016-11-03 10:49:33 -07:00
Yann Collet
46b49af37c fixed clang conversion warning 2016-11-03 10:39:35 -07:00
Yann Collet
c66108ceb2 check fread() operation results (#243) 2016-11-03 09:27:35 -07:00
Przemyslaw Skibinski
84cedb4632 updated links to LZ4 repository 2016-11-03 15:12:57 +01:00
Yann Collet
59adfd82d6 fix for ARM platform 2016-11-01 21:04:56 -07:00
Yann Collet
f173027690 moved cmake and debian directories to contrib (#245) 2016-11-01 17:29:15 -07:00
Yann Collet
d05ca2ff6d fixed #247, reported by Felix Bolte 2016-11-01 16:54:33 -07:00
Kouhei Sutou
46a7b94e8c Use lower case for header file name
"WinIoCtl.h" works on Windows because Windows uses case insensitive file
system. But it doesn't work on GNU/Linux (for cross compiling with
MinGW) because GNU/Linux uses case sensitive file system.
2016-09-23 00:34:42 +09:00
inikep
829ae75871 remove EnablePREfast=true for Win32 2016-09-03 01:35:00 +02:00
inikep
c1864f69e8 fix mingw64 compilation warnings 2016-09-02 21:50:57 +02:00
Kouhei Sutou
14b40fb6d7 Fix build error on MinGW
Header file name is case insensitive on Windows but it is case sensitive
on Linux. "Windows.h" can't be found on Linux.
2016-01-10 17:41:43 +09: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
7f3d82def8 Merge pull request #114 from lpsantil/djgpp
Djgpp
2015-05-28 03:04:17 +02: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
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
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
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
197982ec6c Fixed unfinished frame (issue #75) 2015-04-20 09:24:25 +01:00
Yann Collet
9fd4f1f9f7 Sparse file support is now enabled by default 2015-04-17 19:42:07 +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
a430b859cf Multiple files decompression refactoring 2015-04-15 16:24:43 +01: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
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
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
62ed153195 Fixed : a few minor coverity warnings 2015-04-12 08:21:35 +01:00
Yann Collet
8b8e5efefe fixed minor sanitize warning 2015-04-11 10:25:08 +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
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
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
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
d5da787c1b Changed struct member to contentSize 2015-03-29 11:20:09 +01:00
Yann Collet
7f436a1215 lz4 cli supports frame content size 2015-03-23 02:20:42 +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
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
e277511ab6 Merge pull request #54 from t-mat/gc-issue/155
Gc issue/155
2015-03-08 19:06:17 +01:00
Yann Collet
488029ec3b Updated : compress multiple files 2015-03-07 13:23:00 +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
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
8a9fb8cf32 Fixed : older compiler don't like nameless unions, reported by Cheyi Lin 2014-12-16 22:03:16 +01:00
Yann Collet
c5decf7562 minor refactoring 2014-12-06 17:10:54 +01:00
Yann Collet
6de52c2a8c LZ4IO : modified to use lz4frame instead 2014-11-30 17:59:31 +01:00
Yann Collet
2ad37dbe58 Corrected lz4io 2014-11-23 01:14:04 +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
2ab6f9a387 Updated : xxHash to r37 2014-10-06 11:13:56 +01:00
Yann Collet
3b4e3f2b01 minor fuzzer code cleanup 2014-08-30 18:13:45 +01:00
Yann Collet
ff94eec374 Added macro, for large file support on 32-bits AIX 2014-08-20 16:37:34 +01:00
Yann Collet
fbe14d128e Modified : lz4 streaming API, strong types 2014-07-14 23:04:10 +01:00
Yann Collet
d3c43d3251 Modified : streaming API (fast compression) 2014-07-05 16:48:49 +01:00
Yann Collet
e002818cf6 Modified : Makefile : added -Wshadow option, suggest by Boris Faure 2014-07-05 13:33:57 +01:00
Yann Collet
da5373197e Fixed : issue 52 (reported by Ludwig Strigeus) 2014-06-22 11:25:04 +01:00
Yann Collet
d517d609d9 Fixed : streaming compression using small (<64KB) dictionary buffers 2014-06-17 21:41:59 +01:00
Yann Collet
0c62103105 restored LZ4 HC streaming mode 2014-06-11 21:40:16 +01:00
Yann Collet
661e4ddb78 lz4io : reduced memory usage in streaming mode 2014-06-10 06:10:08 +01:00
Yann Collet
a79180f51d New : valgrind memtest 2014-06-09 01:01:04 +01:00
Yann Collet
374d6ac35c Fixed issue 127 & 128 2014-04-15 15:03:17 +02:00
yann.collet.73@gmail.com
69dc85b8ab Large decompression speed improvement for GCC 32-bits. Thanks to Valery Croizier !
LZ4HC : Compression Level is now a programmable parameter (CLI from 4 to 9)
Separated IO routines from command line (lz4io.c)
Version number into lz4.h (suggested by Francesc Alted)


git-svn-id: https://lz4.googlecode.com/svn/trunk@113 650e7d94-2a16-8b24-b05c-7c0b3f6821cd
2014-02-04 14:11:10 +00:00