]> git.lyx.org Git - lyx.git/commitdiff
PATH_MAX is not guaranteed by POSIX (fixes bug #6906).
authorPavel Sanda <sanda@lyx.org>
Sun, 19 Sep 2010 21:29:09 +0000 (21:29 +0000)
committerPavel Sanda <sanda@lyx.org>
Sun, 19 Sep 2010 21:29:09 +0000 (21:29 +0000)
Patch from Samuel Thibault.

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@35452 a592a061-630c-0410-9148-cb99ea01b6c8

src/support/os_unix.cpp

index 337f728d5c5b42ca871cf463c23a9bce95fa0dfa..9663d98b64a72ac6c3ebc1d62942c8c5d7a2a471 100644 (file)
@@ -297,9 +297,16 @@ bool autoOpenFile(string const & filename, auto_open_mode const mode)
 
 string real_path(string const & path)
 {
+#ifdef __GLIBC__
+       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
 }
 
 } // namespace os