|Filecompare and Colorize updated to handle large files
||[Jul. 19th, 2013|08:32 am]
I've updated both filecompare and colorize to handle large files on Windows. Special thanks to M— for reporting the issue and testing out the fix. If you'd like to stop reading now, here are links to the updated Windows binary and source code.
The technical explanation is that the program was failing because the fseek() and ftell() functions couldn't handle files larger than 4GB. Switching to the Microsoft 64-bit functions _ftelli64() and _fseeki64(), solved the problem. Unfortunately, however, the cross-compiler I was using didn't support them. Until now I've been cross-compiling from OS X to Windows using the MacPorts MinGW32. That compiler is using code last updated in 2006. Although newer is not always better, one has to assume that things have improved since the movie 300 was released.
Thanks to some great work over at the MinGW-w64 project, I am now able to use these 64-bit functions in my programs. This is great news for filecompare and colorize, of course. But you can expect to see my other projects switch over to the new compilers as well.