XOPEN_SOURCE and string.h

marco atzeri marco.atzeri@gmail.com
Sat Jan 12 05:46:00 GMT 2013


On 1/12/2013 12:50 AM, Denis Excoffier wrote:
> On 2013-01-11 23:00, marco atzeri wrote:
>> On 1/11/2013 10:47 PM, Denis Excoffier wrote:
>>> Hello,
>>
>> are you sure about that file ?
> Sure yes. It has been inside Cygwin snapshots since end of last December. It was
> introduced in newlib near the 22nd October 2012. I suppose that other occurrences of
> _XOPEN_SOURCE have to be checked.
>
> % cygcheck -f /usr/include/string.h
> cygwin-1.7.17-1
> % uname -a
> CYGWIN_NT-5.1 jupiter 1.7.18s(0.263/5/3) 20130111 15:37:20 i686 Cygwin
> %
>
> See http://cygwin.com/ml/cygwin/2011-02/msg00534.html (and many others).
>
> Denis Excoffier.
>

looking at CVS source.
the one you found should be the only occurrence, and
it is coming from newlib

src/newlib/libc/include/string.h:#if !defined(__STRICT_ANSI__) || 
(_XOPEN_SOURCE >= 500)
src/newlib/libc/include/string.h:#if !defined(__STRICT_ANSI__) || 
(_XOPEN_SOURCE >= 700)

in the only other place it is already implemented like taht

src/newlib/libc/include/sys/features.h:  #if (_XOPEN_SOURCE - 0) == 700 
/* POSIX.1-2008 */
src/newlib/libc/include/sys/features.h:   #elif (_XOPEN_SOURCE - 0) == 
600      /* POSIX.1-2001 or 2004 */
src/newlib/libc/include/sys/features.h:   #elif (_XOPEN_SOURCE - 0) == 
500      /* POSIX.1-1995 */
src/newlib/libc/include/sys/features.h:   #elif (_XOPEN_SOURCE - 0) < 
500       /* really old */

and there is a specific note on the matter:

* _POSIX_C_SOURCE if _XOPEN_SOURCE is defined and _POSIX_C_SOURCE is not.
* (_XOPEN_SOURCE indicates that XSI extensions are desired by an 
application.)
* Allow for _XOPEN_SOURCE to be empty (from the earliest form of it, 
before it

Regards
Marco


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple



More information about the Cygwin mailing list