Commits


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


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


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'


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 diff_atom_cmp() and error handling to diff_atom_same()


avoid include statements in header files; make each .c pull in what's needed


replace enum diff_rc errors with plain errno values


fall back on file i/o in case an input file cannot be memory-mapped


move 'struct range' and related functions into the diff_ namespace no functional change


KNF: use max 80 columns


KNF: function declaration return types on separate line


Fix macro diff_atom_*idx return value types The macros sometimes returned unsigned int (atoms.len) or long int ((ATOM) - head). Make that always unsigned int, with some range checks against negative values.


patience: reduce sections by swallowing identical lines before LCS


move struct range defs to diff_main.h (prep for upcoming patch)


initial commit