Re: [PATCH] Added FTW.H Methods
Corinna Vinschen via Newlib <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
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? > 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. 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. Thanks, Corinna