unified diff object model/library in C