Commit graph

200 commits

Author SHA1 Message Date
Con Kolivas
e3598a7b96 Fix ISO C warning in lrzip.c 2015-03-10 20:04:14 +11:00
Con Kolivas
e590d781f3 Brace failure lead to broken dump to stdout 2015-03-10 13:26:14 +11:00
Con Kolivas
8551a43c73 Attempt to decompress file in ram only if we are unable to create temporary files when decompressing to stdout 2015-03-10 12:05:55 +11:00
Con Kolivas
c3bc42e2c8 Avoid checking return values repeatedly on compress that only lead to failures anyway 2015-03-10 09:46:35 +11:00
ckolivas
f690750340 Fix remaining use of mutexes lock/unlocking in different threads with cksems, corecting cksem usage on osx 2015-03-08 10:10:38 +11:00
Con Kolivas
3f746d5d60 Use temporary file from read_seekto when STDIN will not fit in the ram input buffer 2015-03-03 13:09:00 +11:00
Con Kolivas
a334444977 Remove unused read_i64 function 2015-03-03 09:35:35 +11:00
Con Kolivas
4aa69a104a Pass strict sizes to decompress length, rounding up only the amount we're allocating to not confuse decompression libraries 2014-05-30 22:05:51 +10:00
Con Kolivas
22496bdd5a Convert the thread locking to use cksems 2014-05-30 21:27:21 +10:00
Con Kolivas
6c8525893b Round up compression and decompression buffers to page size since malloc will allocate them that large anyway. 2013-09-14 12:58:31 +10:00
Con Kolivas
47de07affb Increase the compressed buffer size given to libzpaq in case of incompressible data since it does not check if it's trying to write beyond the end of the buffer. 2013-09-14 11:45:23 +10:00
Con Kolivas
d8df50c9b7 Update various copyright dates. 2013-09-02 12:21:54 +10:00
Con Kolivas
5c811a9311 We have to run through the clear buffer function even for empty buffers or corrupt archives with empty match streams. 2013-09-01 15:02:52 +10:00
Con Kolivas
eff1efdbc5 Rewrite the magic if we receive lzma properties and have not yet written them yet during stdout operation. 2013-09-01 12:25:06 +10:00
Con Kolivas
b076dbb59d Set the control lzma properties only once. 2013-09-01 12:17:51 +10:00
Con Kolivas
184a8f0025 Rename lrzip.h to lrzip_core.h to cope with case insensitive filesystems not working with Lrzip.h vs lrzip.h 2012-07-07 21:39:40 +10:00
Con Kolivas
081265f1c9 Use no back end compression for blocks smaller than 64 bytes to avoid issues to do with minimum buffer size and minimum match sizes of the rzip preprocessing. 2012-07-07 20:43:44 +10:00
Con Kolivas
9e33cfc24a Implement progress counter on zpaq compress/decompress per thread within the Reader function. 2012-03-17 15:30:43 +11:00
Con Kolivas
77f6965f25 Re-instantiate the lzo compresses test for zpaq compression. 2012-03-16 23:20:54 +11:00
Con Kolivas
8b680e72ac Remove redundant code. 2012-03-16 23:14:49 +11:00
Con Kolivas
fbcf0fcfd4 Delete now-unused zpipe code. 2012-03-16 23:04:20 +11:00
Con Kolivas
a55250cf16 Use libzpaq backend for decompression. 2012-03-16 14:14:22 +11:00
Con Kolivas
f8d05b9a66 Move zpaq compression to new libzpaq library back end. 2012-03-16 14:04:16 +11:00
Con Kolivas
5edf8471d1 Perform all checksumming in a separate thread to speed up the hash search in the rzip phase. 2012-03-11 11:51:36 +11:00
Con Kolivas
086265c83f Update copyright notices and style to 1TBS for return codes. 2012-03-07 22:04:24 +11:00
Con Kolivas
18105bbf7c Merge branch 'master' into liblrzip
Conflicts:
	lrzip.c
2011-09-16 22:55:34 +10:00
Con Kolivas
271a407765 Make lzma back end message maxverbose to minimise spamming. 2011-09-15 13:29:09 +10:00
Con Kolivas
a0fe1a8c8e Merge branch 'master' into liblrzip
Conflicts:
	runzip.c
	stream.h
2011-09-15 08:31:00 +10:00
Con Kolivas
e1f2138060 Make sure to read to the end of all streams when closing down an rzip stream.
This would have made lrzip unable to decompress some rare archives if they ended up stream 0.
2011-09-15 08:28:30 +10:00
Con Kolivas
a39b57a1e7 Add lots more debugging in maxverbose mode about where data is being written. 2011-09-15 08:26:07 +10:00
Con Kolivas
44fa63bf11 Merge branch 'master' into liblrzip
Conflicts:
	stream.c
2011-08-17 21:19:13 +10:00
discomfitor
3316dd5505 remove trailing whitespace 2011-08-17 20:59:41 +10:00
discomfitor
63141a1035 add some gross bucketing to implement a queue for freeing stream_info structs after an operation has completed (in library mode ONLY; no changes will occur during regular execution) to fix some leaks 2011-08-17 20:59:41 +10:00
discomfitor
949c6d7a97 another semi-clusterfuck commit: *new logging macros *allow compression to and from any FILE, not just stdin/stdout *update main.c to work with the above 2011-08-17 20:59:41 +10:00
discomfitor
6dd20d735b giant clusterfuck commit: *add and use alloca/strdupa in some spots *implement return values on almost every function *free() is now a macro which also nulls the freed pointer *when in 'library mode', fatal_exit() will not be called *fatal()/failure() are now macros which add line number and file for logging *all occurrences of fatal/failure in files other than main.c are now wrapped to use a logging callback (if specified) and then return *functions now clean up resources on returning with an error 2011-08-17 20:59:40 +10:00
discomfitor
cbff8faef7 move liblrzip.h contents to lrzip_private.h global variables----- 2011-08-17 20:59:40 +10:00
discomfitor
1c64dcfb31 more initialization stuff out of main(), remove weird coincidentally successful one_g variable 2011-08-17 20:59:40 +10:00
Con Kolivas
7104809cd1 FreeBSD needs fake memopen too. 2011-08-17 20:54:23 +10:00
Con Kolivas
1ea75154d6 Silence compiler warnings. 2011-05-08 00:05:46 +10:00
Con Kolivas
55dc9b0095 Fix the arbitrary lower limit of 128 bytes by compressing zeroes beyond the size of the chunk.
Put special case management of zero sized files.
Modify the percentage calculation to be able to cope with small numbers and zeroes.
2011-05-07 18:37:25 +10:00
Con Kolivas
7ed977b1c1 Detach threads from the compression side since we don't explicitly join them as they may count towards max thread count otherwise. 2011-04-23 08:15:44 +10:00
ckolivas
6ddd2e8e7e Correct fix to ensure 64 bit lseek is used on apple in stream.c 2011-04-18 23:13:11 +10:00
Con Kolivas
373cfa25e4 limit must still be clamped to chunk_limit at most. 2011-03-23 08:44:52 +11:00
Con Kolivas
915edb78a2 Remove unused variables and functions. 2011-03-23 08:16:07 +11:00
Con Kolivas
b27e1df879 Revert "Modify the file format to not include rzip chunk size except for STDOUT chunked files thus decreasing the file format size further."
This reverts commit 131d4c92c2.

Breaks STDIN/OUT so revert this change and cope with the slightly extra file size on non-chunked files.
2011-03-23 07:59:04 +11:00
Con Kolivas
8fcedbc43e Fix big endian decompression from lzma. 2011-03-23 07:42:45 +11:00
Con Kolivas
f7a1c14e28 Put warning about possibly wrong password at appropriate place in stream.c
Use char to be consistent in open_stream_in.
Fail to failure() instead of fatal() should open_stream_in fail.
2011-03-23 01:13:15 +11:00
Con Kolivas
70e7866271 Include arpa/inet.h for those OSs that have endian details elsewhere. 2011-03-22 21:47:24 +11:00
ckolivas
eebba614bc Don't adjust endianness in read_val. 2011-03-22 17:00:37 +11:00
ckolivas
36cc464d2b Yet more 32 bit clamping. 2011-03-22 14:44:56 +11:00