hi, most of the code in my repository has to work around various C problems (e.g. no generics), so match32 and match64 are the same functions that work on differently sized buffers - if I had generics and RAII, the diffing and patching source code would have been comparable in size to your project.
I also don't see robust error handling in your code, which usually costs lines of code (especially in C) too.
The difference in delta technique is certainly not negligible, as my code still uses Colin Percival's algorithm, while you seem to have settled on something else. It's also important to point out that being "better than xdelta" means pretty much the same as "having more than nothing", because xdelta has already been superseded 20 years ago by bsdiff[1], which in turn would ideally be superseded by my project.
I also don't see robust error handling in your code, which usually costs lines of code (especially in C) too.
The difference in delta technique is certainly not negligible, as my code still uses Colin Percival's algorithm, while you seem to have settled on something else. It's also important to point out that being "better than xdelta" means pretty much the same as "having more than nothing", because xdelta has already been superseded 20 years ago by bsdiff[1], which in turn would ideally be superseded by my project.