-----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]

Reply via email to