renameat2
Corinna Vinschen
corinna-cygwin@cygwin.com
Wed Aug 23 19:25:00 GMT 2017
On Aug 19 13:13, Ken Brown wrote:
> On 8/19/2017 12:37 PM, Corinna Vinschen wrote:
> > Oh, one more thing. This is a question to Yaakov, too.
> >
> > diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
> > index 5d8cb1092..331a1cf07 100644
> > --- a/newlib/libc/include/stdio.h
> > +++ b/newlib/libc/include/stdio.h
> > @@ -384,6 +384,9 @@ int _EXFUN(vdprintf, (int, const char *__restrict, __VALIST)
> > #endif
> > #if __ATFILE_VISIBLE
> > int _EXFUN(renameat, (int, const char *, int, const char *));
> > +# ifdef __CYGWIN__
> > +int _EXFUN(renameat2, (int, const char *, int, const char *, unsigned int));
> > +# endif
> > #endif
> >
> > Does it makes sense to guard the renameat2 prototype more extensively
> > to cater for standards junkies? __MISC_VISIBLE, perhaps?
>
> I'll defer to Yaakov. But here's a related question. Is renameat
> currently guarded properly? The Linux man page says:
>
> Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
>
> renameat():
> Since glibc 2.10:
> _POSIX_C_SOURCE >= 200809L
> Before glibc 2.10:
> _ATFILE_SOURCE
>
> This suggests that we should do something like the following:
>
> diff --git a/newlib/libc/include/stdio.h b/newlib/libc/include/stdio.h
> index 331a1cf07..9eb0964f2 100644
> --- a/newlib/libc/include/stdio.h
> +++ b/newlib/libc/include/stdio.h
> @@ -381,8 +381,6 @@ FILE * _EXFUN(open_memstream, (char **, size_t *));
> int _EXFUN(vdprintf, (int, const char *__restrict, __VALIST)
> _ATTRIBUTE ((__format__ (__printf__, 2, 0))));
> # endif
> -#endif
> -#if __ATFILE_VISIBLE
> int _EXFUN(renameat, (int, const char *, int, const char *));
> # ifdef __CYGWIN__
> int _EXFUN(renameat2, (int, const char *, int, const char *, unsigned int));
No, that's correct. See sys/features.h:
* __ATFILE_VISIBLE
* "at" functions; enabled by default, with _ATFILE_SOURCE,
* _POSIX_C_SOURCE >= 200809L, or _XOPEN_SOURCE >= 700.
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20170823/7f5ad733/attachment.sig>
More information about the Cygwin-patches
mailing list