Concatenate a number of paths to a straightforward path without
any "//"
, "/.."
or "/."
. If any path
argument is absolute then the result is absolute and the
preceding arguments are ignored. If the result is relative then
it might have leading ".."
components. If the last
nonempty argument ends with a directory separator then the
result ends with that too. If all components in a relative path
disappear due to subsequent ".."
components then the
result is "."
.
combine_path_unix() concatenates in UNIX style, which also is
appropriate for e.g. URL:s ("/" separates path components and
absolute paths start with "/"). combine_path_nt()
concatenates according to NT filesystem conventions ("/" and "\"
separates path components and there might be a drive letter in
front of absolute paths). combine_path_amigaos() concatenates
according to AmigaOS filesystem conventions.
combine_path() is equivalent to combine_path_unix() on UNIX-like
operating systems, and equivalent to combine_path_nt() on NT-like
operating systems, and equivalent to combine_path_amigaos() on
AmigaOS-like operating systems.