Re: [PATCH] Added FTW.H Methods

Eshan Dhawan via Newlib <[email protected]>
Newsgroups gmane.comp.lib.newlib
Message-ID <[email protected]>
> On 17-Aug-2020, at 3:12 PM, Corinna Vinschen <[email protected]> wrote:
> 
> On Aug 13 08:11, Joel Sherrill wrote:
>>> On Thu, Aug 13, 2020 at 3:17 AM Corinna Vinschen via Newlib <
>>> [email protected]> wrote:
>>> 
>>> On Aug 13 03:08, Eshan dhawan via Newlib wrote:
>>>> Signed-off-by: Eshan dhawan <[email protected]>
>>>> ---
>>>> newlib/configure.host         |   2 +-
>>>> newlib/libc/include/ftw.h     |  64 ++++++++++++++
>>>> newlib/libc/posix/Makefile.am |   2 +-
>>>> newlib/libc/posix/ftw.c       |  36 ++++++++
>>>> newlib/libc/posix/nftw.c      | 154 ++++++++++++++++++++++++++++++++++
>>>> 5 files changed, 256 insertions(+), 2 deletions(-)
>>>> create mode 100644 newlib/libc/include/ftw.h
>>>> create mode 100644 newlib/libc/posix/ftw.c
>>>> create mode 100644 newlib/libc/posix/nftw.c
>>> 
>>> Why do we need _FTW_ENABLE_?
>>> 
>>> What do we need the foo64 variants for?  WHile newlib defines
>>> _LARGEFILE64_SOURCE for __linux__ and __RDOS__, it's not used
>>> anywhere else in newlib itself.
>>> 
>>> Also, there's a ftw/nftw implementation in Cygwin already.  Did you
>>> check it for inclusion into newlib, or to drop the Cygwin version in
>>> favor of a new newlib versions?  We could at least share a common
>>> header, but then we will have to use the flag values already used in
>>> the Cygwin implementation for backward compatibility.
>>> 
>> 
>> We went straight to *BSD for implementations and didn't look at Cygwin.
> 
> Cygwin's ftw is OpenBSD.  Which BSD is this ftw taken from?
It’s taken from MUSL Libc 
> 
>> I've asked Eshan to replace the implementation with the Cygwin one.
>> Hopefully that's easy and allows one more piece of shared software.
> 
> It's not *that* easy because OpenBSD's/Cygwin's ftw(3) uses fts(3) under
> the hood.
That’s the same reason We couldn’t use FTW from BSD 
> 
> While sharing code is good, your implementation is more compact, which
> speaks for your code.
> 
> However, I'd like to ask for ftw.h compatibility at least, so perhaps
> Cygwin can use this other ftw, too at one point.
> 
> But even then, there's still the _FTW_ENABLE_ and _LARGEFILE64_SOURCE
> stuff I asked about.
_FTW_ENABLE_ was there because the FTW implementation required pthread_setcancelstate ()
> 
> 
> Thanks,
> Corinna
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.