# Boost-Build :

Date: 2003-05-14 00:58:22

David Abrahams wrote:

> > Will try again tomorrow, just in case I was not attentive. I think the
> > real problem is that I don't understand where the bug comes from.
>
> The bug comes from the fact that all :X path modifiers rely on
> facilities which first parse the path by separating out directory,
> basename, extension, etc., and then reconstitute the unchanged parts,
> inserting PATHSEP where neccessary.
>
> That means foo/bar/baz.x becomes more like
>
> directory: foo/bar
> basename: baz
> extension: x
>
> If you strip the extension, say, it puts the first two parts back
> together as:
>
> foo/bar\baz

Why, when merging "foo/bar" with "baz" we look at past-the-end symbol of
"foo/bar" in hope that the right separator will be there? I believe that
relies on the assumption that pointers in _pathname struct all refer to
original filename, which contains the separator --- and this was the part
which was not obvious to me when I was reading your commit email.

- Volodya