Commits


optionally provide information about the generated diff to the API user


add APIs to write out the left and right versions of diff chunks


store interal state of output_unidiff API in an opaque struct


convert 'ignore_whitespace' boolean into a more general flags argument


remove now redundant declaration from diff_main.h


move some definitions from the public diff_main.h to an internal header file


support output of individual diff chunks in the public API


fix segfault which occurred with empty input files


remove abort() in example code


convert abort() in diff_output_lines() to error return


use buffered stdio if falling back on file i/o; this is much faster


return error instead of abort()


add missing reallocarray(3) compat shim


remove another custom linux shim in favour of compat/ directory


make use of source files in compat/ directory on Linux


enable -Wstrict-prototype and -Wunused-variable in Linux build


rename linux_Makefile to GNUmakefile; GNU make picks this up automatically


remove unused portable GNUmakefile


reduce default diff-box recursion depth from 1024 to 32


rename 'debug.h' to 'diff_debug.h'


add a -C option which sets the amount of context lines in unified diffs


add support for ignoring whitespace (-w option) Tests grow the ability to call diff with options. Options to use are encoded in the test file name as a single dash followed by a string of option letters. E.g. -wp for 'ignore whitespace' and 'do patience'


myers_divide: stop traversing snakes after reasonable max effort


diff result: ensure sane order of result chunks Ensure that a adjacent chunks of same type are combined, and that a minus block always precedes an adjacent plus block. The upcoming myers-divide optimization is prone to produce weird ordering of plus and minus chunks.


add ARRAYLIST_INSERT()