The LibXDiff library implements basic and yet complete functionalities to create file differences/patches to both binary and text files. It uses memory files as file abstraction to achieve both performance and portability. For binary files, it implements both (with some modification) the algorithm described in "File System Support for Delta Compression" by Joshua P. MacDonald and the algorithm described in "Fingerprinting By Random Polynomials" by Michael O. Rabin. For text files, it follows directives described in "An O(ND) Difference Algorithm and Its Variations" by Eugene W. Myers. Memory files used by the library are basically a collection of buffers that store the file content.
dbf is an easy-to-use command line tool to show and convert the content of dBASE III, IV, and 5.0 files, as well as of FoxBase and Visual FoxPro. It reads xBASE-compatible databases and prints the content to the screen or converts it to comma-separated (*.csv) files which can be opened in Excel, StarOffice, and most other spread sheets. It can also be used to show some statistics about the content.