string real_path(string const & path)
{
-#ifdef __GLIBC__
+#ifdef HAVE_DEF_PATH_MAX
+ char rpath[PATH_MAX + 1];
+ char * result = realpath(path.c_str(), rpath);
+ return FileName::fromFilesystemEncoding(result ? rpath : path).absFileName();
+#else
char * result = realpath(path.c_str(), NULL);
string ret = FileName::fromFilesystemEncoding(result ? result : path).absFileName();
free(result);
return ret;
-#else
- char rpath[PATH_MAX + 1];
- char * result = realpath(path.c_str(), rpath);
- return FileName::fromFilesystemEncoding(result ? rpath : path).absFileName();
#endif
}