Not quite sure about this one. The man page on realpath states that it's broken by design since some symstems don't have an upper bound on filename lengths. canonicalize_file_name uses dynamic memory, but isn't available on non GNU systems. We could provide a realpath based canonicalize_file_name implementation in libs/port as a fallback, but I guess that would be overkill?
realpath assumes the buffer to be PATH_MAX, but FILENAME_MAX is always as least as large as PATH_MAX, so that's ok. See http://www.delorie.com/gnu/docs/glibc/libc_652.html
Slightly related, this page states that one should not allocate an FILENAME_MAX array on the stack, since it might be huge. It's 4096 on linux. Do we want to switch this to dynamically allocated memory? IMO it would be overkill, though.
ChangeLog: Use realpath instead of canonicalize_file_name for portability reasons.
dlls/shell32/shfldr_unixfs.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-)