bug-gnulib
[Top][All Lists]
Advanced

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

Re: [PATCH] renameat: port to Solaris 10, which declares renameat in uni


From: Eric Blake
Subject: Re: [PATCH] renameat: port to Solaris 10, which declares renameat in unistd.h
Date: Wed, 27 Oct 2010 08:16:05 -0600
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.9) Gecko/20100921 Fedora/3.1.4-1.fc13 Mnenhy/0.8.3 Thunderbird/3.1.4

On 10/26/2010 07:16 PM, Bruno Haible wrote:
Good point. Yes, too many #includes like this can lead to parse errors
in particular situations (even when all gnulib self-tests compile), and
it's a pain to analyze this kind of failure. I'm applying this:


2010-10-26  Bruno Haible<address@hidden>

        unistd: Refine workaround from 2009-12-23 against Cygwin bug.
        * lib/unistd.in.h: Don't include<stdio.h>  and<fcntl.h>, except on
        Cygwin and mingw.

The ChangeLog entry is inaccurate; mingw does not provide *at() functions and therefore was not affected by the problem.

  /* Cygwin 1.7.1 declares symlinkat in<stdio.h>, not in<unistd.h>.  */
  /* But avoid namespace pollution on glibc systems.  */
  #if (!(defined SEEK_CUR&&  defined SEEK_END&&  defined SEEK_SET) \
-     || (@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK)) \
+     || ((@GNULIB_SYMLINKAT@ || defined GNULIB_POSIXCHECK) \
+&&  defined __CYGWIN__)) \

Not to mention that this check does not include mingw.

--
Eric Blake   address@hidden    +1-801-349-2682
Libvirt virtualization library http://libvirt.org



reply via email to

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