> On 15 Mar 2002 [EMAIL PROTECTED] wrote:
>
> > Index: request.c
> >
===================================================================
> > RCS file: /home/cvs/httpd-2.0/server/request.c,v
> > retrieving revision 1.106
> > retrieving revision 1.107
> > diff -u -r1.106 -r1.107
> > --- request.c 13 Mar 2002 20:48:00 -0000 1.106
> > +++ request.c 15 Mar 2002 13:35:42 -0000 1.107
> > @@ -556,6 +556,20 @@
> > */
> > if (!r->finfo.filetype || r->finfo.filetype == APR_LNK) {
> > apr_stat(&r->finfo, r->filename, APR_FINFO_MIN, r->pool);
> > +
> > + /* some OSs will return APR_SUCCESS/APR_REG if we stat
> > + * a regular file but we have '/' at the end of the name;
> > + *
> > + * other OSs will return APR_ENOTDIR for that situation;
> > + *
> > + * handle it the same everywhere by simulating a failure
> > + * if it looks like a directory but really isn't
> > + */
> > + if (r->finfo.filetype &&
> > + r->finfo.filetype != APR_DIR &&
> > + r->filename[strlen(r->filename) - 1] == '/') {
> > + r->finfo.filetype = 0; /* forget what we learned */
> > + }
> > }
>
> It would seem to me that this should go in apr_stat, rather than in
> request.c, in order to make the semantics of apr_stat consistent
across
> platforms. No?
Yes, and a test should be added to the test suite to catch this in the
future.
Ryan