On Wed, Apr 15, 2020 at 4:48 PM Johan Corveleyn <[email protected]> wrote:
>
> On Wed, Apr 15, 2020 at 3:51 PM William A Rowe Jr <[email protected]> wrote:
> >
> > Interesting.
> >
> > Not being familiar with the subversion code, it would be helpful to see
> > what args
> > are being passed to the offending (offended) apr_stat call, so we can
> > investigate
> > the behavior of APR 1.7.0 (or trunk) further.
>
> Understood. I'll try to dig into this a bit in the coming days.
Okay, I finally got around to this.
Subversion indeed performs an apr_stat call with the following flags [1]:
apr_int32_t wanted = APR_FINFO_TYPE | APR_FINFO_LINK
| APR_FINFO_SIZE | APR_FINFO_MTIME;
The call to apr_stat happens on line 4464 in libsvn_subr/io.c [2]:
status = apr_stat(finfo, fname_apr, wanted, pool);
Apparently this call succeeds with apr 1.6.5 (on Windows), with
fname_apr="C:/" and wanted as above (I added a screenshot from the VS
Debugger to illustrate). The returned filetype is APR_DIR, etc ...
But the call fails with apr 1.7.0, returning status == 720002 (see
second screenshot, FWIW). Is Subversion doing something wrong here?
Passing incorrect flags or something like that?
[1]
https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l3149
[2]
https://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/io.c?revision=1875971&view=markup#l4464
--
Johan