Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Tom Lane wrote:
>> ... it's part of the API contract of canonicalize_path() that it
>> will not return something with trailing "." or "..".
> OK, new patch which I think handles all cases.
> + if (pending_strips > 0)
> + {
> + for (; pending_strips > 0; pending_strips--)
> + strcat(path, "../");
> + trim_trailing_separator(path);
> + }
Uh, that hardly meets the API contract that I mentioned. I think
we really have to throw an error if the path tries to ".." above
the starting point. (Remember again that most of the uses of
this thing are dealing with absolute paths anyway, so this isn't
that big a deal.)
regards, tom lane