On Wed, Apr 15, 2020 at 4:48 PM Johan Corveleyn <jcor...@gmail.com> wrote:
>
> On Wed, Apr 15, 2020 at 3:51 PM William A Rowe Jr <wr...@rowe-clan.net> 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

Reply via email to