summaryrefslogtreecommitdiff
path: root/xdelta3/xdelta3-merge.h
AgeCommit message (Collapse)Author
2015-03-06Builds clean Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)Joshua MacDonald
2010-08-01Fixes for win7, especially named pipe handlingjosh.macdonald@gmail.com
2008-09-13Implement adler32 and appheader for merge command.josh.macdonald
2008-09-07Fixes two merge bugs:josh.macdonald
1. The whole_state struct now keeps an array of window sizes so that during reconstruction it can use the same window size as the target delta. The code was previously using dec_tgtlen, which was the window size of the last target delta window. 2. xd3_merge_copy_source(), which applys a source-copy instruction during merge was not properly translating target-copy instructions in the target. The solution here is SLOW and INEFFICIENT, but it at least allows the tests to pass. A big TODO here is to improve the algorithm: it has a potentially O(N) recursion for each target-copy that it sees, and the naive approach also can produce duplicate adds.
2008-09-06Fixes an incorrect mode assignment for merging source-copies of josh.macdonald
target-copies.
2008-09-05Solves the issue reported in Issue 36. More merge tests now pass.josh.macdonald
2008-08-16Fixes a error in the test. Merge test passes...???josh.macdonald
2008-08-16Fix bug in xd3_merge_add(), calling memcpy with wrong offset and size.josh.macdonald
2008-07-07Make these files compile with C++.josh.macdonald
2008-04-22First successful merge command. :)josh.macdonald
2008-04-20No, doesn't work but this is a little closer. The bug-fix for thejosh.macdonald
infinite loop in issue 70 is breaking identical-input detection too.
2008-04-20It's plausible that this merge code actually works; untested.josh.macdonald
2008-04-19Cleanup of previous. New xd3_merge_input_output used in bothjosh.macdonald
main_merge_arguments and main_merge_output.
2008-04-19Straighten up the logic for calling xd3_merge_inputs in both josh.macdonald
main_merge_arguments and main_merge_output.
2008-04-15Fixes for issue 70. The test inputs tickled a case where thejosh.macdonald
non-blocking API would not make progress, searching for match on the page boundary and repeatedly asking the application to get another source block. This is only a non-blocking issue, glad it's fixed. I'll add encode_decode_test to my test suite before another release.
2008-04-09Add mechanism for processing merge arguments in order, memoryjosh.macdonald
management for xd3_whole_target structures being passed between arguments-processing and main merge_output function.
2008-04-02Merge command passes its first smoke test, reproduces a delta byjosh.macdonald
instruction-level rewriting of the input to the output. Hits an assertion due to target-copies that cross window boundaries--next step is to fix the output window size to the last input window size. This fixes an important bug in xd3_choose_instruction, which assumed that copy instructions were at least four bytes, but this is no longer the case for merged outputs (at least for the case where window size changes, which will not be allowed in future).
2007-12-27Adding more support for "merge" command.josh.macdonald