From: Matthias A. <ma...@dt...> - 2004-07-05 12:00:12
|
Dear fellow fetchmail interested, I have recently compiled fetchmail with a decent set of warnings enabled (i. e. -pedantic -W -Wextra and some more on gcc 3.3 or 3.4 or icc 8.0) and I am _flooded_ by complaints about signedness mismatch. It is a bit unfortunate this has been handled so laxly in the past, and this will need to be fixed before a next release we can seriously recommend. It is a task that will take a longer time because we'll effectively need to align the types throughout the file with respect to signedness. Getting the interfaces and data structures cleaned up would be the first step and would require more eyeballs than just mine, and the second step would then to cast the interface changes into .h files. After that, the implementation cleanup would begin as a third step. It is a long-winded effort, and tools I've come across in the past that can help us are: - GCC with lots of warnings enabled, the more, the better. Particularly useful to find ctype.h madness: GCC on Solaris 8, where in 32- or 64-bit mode (I don't recall as I usually test both) the ctype.h is[]* functions are implemented as arrays, and GCC will complain if a vanilla char is used as argument in is*() which leads to bogus results on 8-bit data. - ICC (Intel C++) 8.0. It's free for personal use, but a registration with Intel is required. - Splint. It is probably a tad too early even with -weak to start with Splint. Opinions solicited. -- Matthias Andree Encrypted mail welcome: my GnuPG key ID is 0x052E7D95 (PGP/MIME preferred) |