bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ENODATA


From: Bruno Haible
Subject: Re: ENODATA
Date: Tue, 25 Oct 2011 11:32:22 +0200
User-agent: KMail/1.13.6 (Linux/2.6.37.6-0.5-desktop; KDE/4.6.0; x86_64; ; )

Hi Jim,

> The gnulib update induced a new (coreutils-specific) syntax-check failure:
> 
>     src/system.h:# define ENODATA (-1)
>     make[3]: *** [sc_prohibit_always-defined_macros] Error 1
> 
> because gnulib now defines that symbol, so I have also removed
> that definition from coreutils:
> 
> -
> -/* Some systems don't define this; POSIX mentions it but says it is
> -   obsolete, so gnulib does not provide it either.  */
> -#ifndef ENODATA
> -# define ENODATA (-1)
> -#endif
> -

Actually, gnulib's errno.h defines ENODATA only on native Windows systems,
because MSVC 10 does it as well - to avoid interoperability problems.
It doesn't guarantee the existence of this macro, and there is no intention
that it does. ENODATA is not POSIX. It is merely an error code defined
on _some_ systems. Just like EOTHER, ETOOMANYREFS, ENOSTR are error
codes defined on _some_ systems.

I would get rid of the syntax-check failure in a different way.

Bruno
-- 
In memoriam Vladimir Herzog <http://en.wikipedia.org/wiki/Vladimir_Herzog>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]