Subject: Re: CVS commit: pkgsrc/security/AiSSLtelnet
To: Jeroen Ruigrok/asmodai <asmodai@in-nomine.org>
From: Rhialto <rhialto@falu.nl>
List: tech-pkg
Date: 07/19/2005 15:45:37
On Tue 19 Jul 2005 at 14:52:14 +0200, Jeroen Ruigrok/asmodai wrote:
> #include <errno.h>
> 
> #ifndef(errno)
> extern int errno;
> #endif

That won't work. #if(n)def is a preprocessor construct, that knows
nothing about C declarations, only about preprocessor macros.
Anyway, after #include <errno.h> no declaration of errno is needed
anyway (and probably isn't even allowed).

This common-sense observation is backed up by the C99 draft (the best
reference I have available here) says in 7.5 "It is unspecified whether
errno is a macro or an identifier with external linkage. If a macro
definition is suppressed in order to access an actual object, or a
program defines an identifier with the name errno, behaviour is
undefined."

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert      -- You author it, and I'll reader it.
\X/ rhialto/at/xs4all.nl        -- Cetero censeo "authored" delendum esse.