-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
Has any progress been made with this bug? Malc Arnold <[EMAIL PROTECTED]> wrote: > > What I don't get is that you *do* include the standard headers, but > > then you go and prototype their content *again*, by hand. This is > > obviously prone to breakage when the header changes, as is the case > > for errno. > > Because different systems include different things in their standard > headers. Everything that is *guaranteed* to be declared in the header > files isn't declared in the actual af source. Unfortunately that is > widely variable across systems and compilers. This is, and always has been, broken. The whole point of the standard headers is that they insulate you from the implementation details, which could vary from platform to platform. You include the headers, and you use them. End of story. Your redeclarations break that insulation by making (now incorrect) *assumptions* about the implementation. errno is no longer an integer, but your code brokenly assumes that it is. Your re-declaration of malloc() is likewise broken. As a start, you must disable all the variable and function re-declarations in ANSI C mode by surrounding them with #ifndef __STDC__ ... #endif and, of course, including <stdlib.h> where required. This can also be done conditionally: #ifdef __STDC__ #include <stdlib.h> #endif This should at least solve the bugs in question, without affecting "K&R" compilers (though it's equally broken there in theory). The other (non-libc/non-POSIX) variable and function declarations do still need putting in headers. Regards, Roger - -- Roger Leigh Printing on GNU/Linux? http://gimp-print.sourceforge.net/ Debian GNU/Linux http://www.debian.org/ GPG Public Key: 0x25BFB848. Please sign and encrypt your mail. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) Comment: Processed by Mailcrypt 3.5.8 <http://mailcrypt.sourceforge.net/> iD8DBQFC7RAmVcFcaSW/uEgRArxIAKC34RQrhimVWpNpWGUEL/M7WggEDwCeO5/I TTJbeQ4kH0k84/PCyCKQies= =JoWr -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]