Carlos Martín Nieto [off-list ref] writes:
quoted
I don't think it is a bad idea per-se to avoid a copy from the same memory
location into the same memory location, but independent of the necessity
of fixes at the low-level, shouldn't we fix the callers that do not check
if what they have is already absolute?
If we'd like the semantics to be "whatever I had, I now know what the
absolute path is" then we could make the check in the beginning of the
function, to centralise the check. If the semantics should be "I don't
have an absolute path, so I need to figure out what it is", then there
should be a check before calling make_absolute_path() (the name suggests
the second).
Good thinking, and I think the former semantics would be easier to use.
There is however the extra functionality the function offers, namely
resolving links. It might be good to split it into two functions so each
caller can specify what it wants.
Probably.