[Top][All Lists]

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


From: Roland McGrath
Subject: Re: -D_XOPEN_SOURCE
Date: Wed, 25 Jul 2001 06:05:41 -0400 (EDT)

> The Hurd header files do not seem to accurately duplicate the behavior
> of Linux when the "-D_XOPEN_SOURCE=500" compiler flag is used.

The relevant difference in the two versions of bits/dirent.h is that
the Linux ones name the actual struct member `d_ino' and unconditionally do:

#define d_fileno    d_ino      /* Backwards compatibility.  */

whereas the bits/dirent.h used for the Hurd names the actual member `d_fileno'
and then the conditional code you cited in <dirent.h> kicks in.

I do not have the spec that says what -D_XOPEN_SOURCE=500 is supposed to mean.
I suggest you inquire on bug-glibc about what the answer is.

I do not have on hand any standard that specifies eitehr d_fileno or d_ino.
(1003.1-1996 only specifies d_name.)

I suspect that it actually conforms to all relevant standards to provide
both (either one being the member name and the other a macro), because of
the `d_' prefix.  

But we might as well be consistent across the platforms.  Please ask on
bug-glibc to verify what the specs say and if perhaps the Linux versions 
need to change.  Whatever the outcome of that, I will change the Hurd's
version to match.

reply via email to

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