relative_path() seems overly complicated and buggy

Поиск
Список
Период
Сортировка
От Tom Lane
Тема relative_path() seems overly complicated and buggy
Дата
Msg-id 11365.1099772806@sss.pgh.pa.us
обсуждение исходный текст
Ответы Re: relative_path() seems overly complicated and buggy  (Bruce Momjian <pgman@candle.pha.pa.us>)
Список pgsql-hackers
There's at least one bug in path.c's relative_path(): it will think
"/foo/a/b" is equal to "/foo/ab" because it skips directory separators
independently in the two strings.  The code is sufficiently complex that
I have little faith in it not having any other bugs, either.

I believe that it's unnecessary for relative_path to be so tense
about trying to implement platform-weirdness-aware comparison of paths.
It is not called on arbitrary paths, but only on the compiled-in
paths that were generated by configure.  Therefore it is reasonable
to assume that the common prefix we are trying to identify is spelled
exactly the same in both paths.

What I'd like to do is simplify it to just check for exact equality
up through the last directory separator in bin_path.  Any objections?
        regards, tom lane


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Sean Chittenden
Дата:
Сообщение: Re: Increasing the length of pg_stat_activity.current_query...
Следующее
От: Tom Lane
Дата:
Сообщение: Re: cygwin build failure