Re: renameat2

2017-08-19 Thread Corinna Vinschen
On Aug 19 13:24, Ken Brown wrote: > On 8/19/2017 12:28 PM, Corinna Vinschen wrote: > > Doc changes coming? :) > > Attached. Pushed. I also generated new developer snapshots. Thanks, Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer

Re: renameat2

2017-08-19 Thread Corinna Vinschen
--- 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

Re: renameat2

2017-08-19 Thread Ken Brown
On 8/19/2017 12:28 PM, Corinna Vinschen wrote: Doc changes coming? :) Attached. Ken From 0704541f1d29e0d9aa0af6e549f8ca0114a44a7c Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Sat, 19 Aug 2017 13:15:04 -0400 Subject: [PATCH] Document renameat2 --- winsup/cygwin/release/2.9.0 | 2

Re: renameat2

2017-08-19 Thread Ken Brown
bc/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, cons

Re: renameat2

2017-08-19 Thread Corinna Vinschen
bc/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

Re: renameat2

2017-08-19 Thread Corinna Vinschen
On Aug 19 10:29, Ken Brown wrote: > Hi Corinna, > > On 8/19/2017 5:57 AM, Corinna Vinschen wrote: > > Hi Ken, > > > > On Aug 18 18:24, Ken Brown wrote: > > The patch is ok as is, just let me know what you think of the above > > minor tweak (and send the revised patch if you agree). > > Yes, I ag

Re: renameat2

2017-08-19 Thread Ken Brown
7;t I also drop the third test (where you said "good catch") for the same reason? I've done that in the attached. If I'm wrong and I still need that third test, let me know and I'll put it back. Thanks. Ken From bbff16b727172a459a9a052b0b948641c82d80eb Mon Sep 17 00:

Re: renameat2

2017-08-19 Thread Corinna Vinschen
; > > Have a look at line 2494 (prior to your patch): > > > > pfri->ReplaceIfExists = TRUE; > > > > if you replace this with something like > > > > pfri->ReplaceIfExists = !(flags & RENAME_NOREPLACE); > > > > it should gi

Re: renameat2

2017-08-18 Thread Ken Brown
Hi Corinna, On 8/18/2017 11:15 AM, Corinna Vinschen wrote: Hi Ken, On Aug 18 09:21, Ken Brown wrote: Linux has a system call 'renameat2' which is like renameat but has an extra 'flags' argument. In particular, one can pass the RENAME_NOREPLACE flag to cause the rename to

Re: renameat2

2017-08-18 Thread Corinna Vinschen
Hi Ken, On Aug 18 09:21, Ken Brown wrote: > Linux has a system call 'renameat2' which is like renameat but has an > extra 'flags' argument. In particular, one can pass the > RENAME_NOREPLACE flag to cause the rename to fail with EEXIST if the > target of the renam

Re: renameat2

2017-08-18 Thread Ken Brown
x27;t see how we can ever do RENAME_WHITEOUT). Thanks for the feedback. Revised patch attached. From 136b0dfd53e147002e134048658d20f452402c9f Mon Sep 17 00:00:00 2001 From: Ken Brown Date: Thu, 17 Aug 2017 09:12:15 -0400 Subject: [PATCH] cygwin: Implement renameat2 Define the RENAME_NOREPLACE

Re: renameat2

2017-08-18 Thread Eric Blake
On 08/18/2017 08:21 AM, Ken Brown wrote: > Linux has a system call 'renameat2' which is like renameat but has an > extra 'flags' argument. In particular, one can pass the > RENAME_NOREPLACE flag to cause the rename to fail with EEXIST if the > target of the renam

renameat2

2017-08-18 Thread Ken Brown
Linux has a system call 'renameat2' which is like renameat but has an extra 'flags' argument. In particular, one can pass the RENAME_NOREPLACE flag to cause the rename to fail with EEXIST if the target of the rename exists. See http://man7.org/linux/man-pages/man2/rename