This Space for Rent

New Code! (let’s make gcc less whiny! edition, part 2)

Postoffice has been pushed up to version 1.4.5a with the completion of the project to make it compile without complaint with gcc -Wall on more-modern systems.

Gcc is really a horrible piece of work, and the FSF coding standards are appalling. One of the places in the code where goddamn gcc complains is the area around the milter code, where, if I don't build with --with-milter, I simply stub out the modules with integer constants reflecting success.

0; (what mfto() expands to when postoffice is not built with --with-milter) is perfectly legitimate code. Gcc doesn't like it. register c is also perfectly legitimate code. Gcc doesn't like it either. So I've added the --with-gcc-patch flag to configure.sh, which tells it to apply a gcc bowlderisation patch as part of the configuration process. If you attempt to build with gcc, configure.sh also sets a few horrible #defines to further make gcc -Wall happy with the code, and mf.h includes a truely horrible inline function that converts 0; into f(0); (where f() is defined as int f(x) { return x; }.

So it's New Code!, but you might want to scrub your brane with lye soap if you download it.