Con Kolivas
d000920ff7
Update copyright dates for affected files.
2022-02-27 21:05:15 +11:00
Con Kolivas
1974d68407
Change -q to only silence progress as per documentation.
2022-02-27 18:35:10 +11:00
Con Kolivas
ec54339be6
Cleanup unused code.
2022-02-27 17:27:45 +11:00
Con Kolivas
09ceb85afa
Fix stdout dumping to console when there is inadequate memory to compress in ram by properly using temporary files.
2022-02-26 15:14:52 +11:00
Con Kolivas
03f498a5ed
Fix potential race condition on checksum.len
2021-02-15 20:17:05 +11:00
Con Kolivas
96c7c62584
Create a linked list to safely release data which cannot be released earlier after all compression is complete and all compressionthreads have returned, fixing a minor leak.
2021-02-09 18:05:49 +11:00
Con Kolivas
d9aea489b9
Silence possibly inadequate space warning with -f and -q options.
2018-05-16 19:28:43 +10:00
Con Kolivas
d212cc1115
Use dealloc() wrapper to minimise risk of local use after free.
2018-05-16 14:12:22 +10:00
Con Kolivas
d05334bd86
checksum.buf should only be changed after the semaphore wait
2016-06-10 21:04:42 +10:00
Con Kolivas
56a84987dd
Update copyright dates
2016-06-09 11:16:41 +10:00
Con Kolivas
70bd5e9d3a
Allow less than maxram to be malloced for checksum to fix Failed to malloc ckbuf in hash_search2
2016-06-09 11:04:40 +10:00
Con Kolivas
b8c1e9ca63
Big endian fix for Solaris Sparc courtesy of joelfredrikson.
2016-06-09 09:49:43 +10:00
Con Kolivas
9a17a54c49
Making the high buffer only one page size is faster for sliding mmap mode
2015-03-10 21:10:24 +11:00
Con Kolivas
9756dd3785
Fix ISO C warnings in rzip.c
2015-03-10 19:58:10 +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
Con Kolivas
aa753fee53
Microoptimisation
2015-03-09 21:24:50 +11:00
Con Kolivas
edc7f5a7ce
Don't check for failure condition that can no longer occur
2015-03-09 21:10:48 +11:00
Con Kolivas
420a483a30
Don't check twice for failure conditions that are fatal in hot paths
2015-03-09 21:03:10 +11:00
ckolivas
707ca69d31
fake_mremap is only used when defined to mremap
2015-03-08 23:30:04 +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
ckolivas
dd9dc7555d
Update copyright dates
2015-03-08 08:53:47 +11:00
ckolivas
f378595dce
Make match_len a function completely removing all indirect calls to get_sb, significantly speeding up the single_get_sb case
2015-03-08 01:21:53 +11:00
ckolivas
cb7b0dd339
Make full_tag a pointer allowing us to avoid a function call for get_sb
2015-03-08 00:59:05 +11:00
ckolivas
cf35575c72
Call sliding_get_sb directly in sliding_next_tag
2015-03-08 00:52:27 +11:00
ckolivas
70db73b955
Make next_tag a pointer to allow ordinary mapping to avoid an extra function call
2015-03-08 00:50:10 +11:00
Maeyanie
2e1fc25543
Fix 'Failed to malloc ckbuf in hash_search2' with very large files.
...
lrzip was trying to malloc() enough memory to fit the entire length of file it was going to hash, instead of just the size of one chunk. This caused problems when combined with extremely large files.
2013-11-04 18:10:15 -05:00
Con Kolivas
d8df50c9b7
Update various copyright dates.
2013-09-02 12:21:54 +10:00
Con Kolivas
21925e4a9c
Massive files fail with -U due to trying to allocate the whole lot in ram while doing checksums. Do it piecemeal to avoid the problem. Patch and debugging courtesy of Adam Tkáč.
2013-09-01 15:46:48 +10:00
Con Kolivas
4db4641dae
Add a control lock mutex for protecting certain control variables.
2013-09-01 12:11:51 +10:00
Con Kolivas
37ef39e70a
Fix stdin fake mremap creating null bytes on osx, patch courtesy of John Boyle.
2013-09-01 08:43:28 +10:00
Con Kolivas
2c1dda7b73
Cache frequently used indirectly referenced variables in the sliding mmap code.
2013-03-19 00:17:52 +11:00
Con Kolivas
87fe625829
Micro-optimise sliding_get_sb_range.
2013-03-18 23:58:10 +11:00
Con Kolivas
2df8968e75
A fix for a bug where large files containing the same non-zero bytes which requires a sliding window, courtesy of Serge Belyshev.
2013-03-18 23:50:32 +11:00
Con Kolivas
ccf225f710
Put vchar should take a 64 bit integer and is used from more than one call site so uninline it.
2012-12-31 16:02:54 +11:00
Con Kolivas
6f0410d28f
Microoptimise in hash_search.
2012-12-31 15:02:49 +11:00
Con Kolivas
e1fd5d6d11
Inline rzip functions used from only one caller.
2012-12-31 13:24:33 +11:00
Con Kolivas
0b8c0818a0
Check for successful calloc of hash table only after performing it.
2012-12-31 13:16:03 +11:00
Con Kolivas
5591639863
stdin_eof is just a bool
2012-12-31 13:09:47 +11:00
Con Kolivas
02b3250639
hash_bits can only be up to 64 so use a char type.
2012-12-31 13:04:06 +11: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
8b680e72ac
Remove redundant code.
2012-03-16 23:14:49 +11:00
Con Kolivas
19b0636459
Move the update counter to earlier in the hash_search so it still updates even when there are not matches.
2012-03-11 21:12:44 +11:00
Con Kolivas
704d7b5eb6
There is no point using a thread on the last checksum update, nor to add the value to cksum_limit.
2012-03-11 12:22:35 +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
f4165ec263
Further micro-optimise match_len.
2012-03-11 09:50:42 +11:00
Con Kolivas
261f2ff1e4
Optimise the hot function empty_hash even further.
2012-03-11 09:25:58 +11:00
Con Kolivas
2fada9fb76
Micro-optimise the hot next_tag function.
2012-03-11 02:17:26 +11:00
Con Kolivas
c136424140
Micro-optimise the match_len function.
2012-03-11 01:56:40 +11:00
Con Kolivas
ba2ebae392
Correct missing adjustment of hash entry.
2012-03-11 01:33:54 +11:00