To: vim_dev@googlegroups.com Subject: Patch 8.0.0954 Fcc: outbox From: Bram Moolenaar Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ------------ Patch 8.0.0954 Problem: /proc/self/exe might be a relative path. Solution: Make the path a full path. (James McCoy, closes #1983) Files: src/main.c *** ../vim-8.0.0953/src/main.c 2017-08-14 23:40:41.544323211 +0200 --- src/main.c 2017-08-17 17:16:29.401024421 +0200 *************** *** 3597,3632 **** { char_u *val = argv0; ! # ifdef PROC_EXE_LINK ! char buf[MAXPATHL + 1]; ! ssize_t len; ! ! len = readlink(PROC_EXE_LINK, buf, MAXPATHL); ! if (len > 0) ! { ! buf[len] = NUL; ! val = (char_u *)buf; ! } ! # else /* A relative path containing a "/" will become invalid when using ":cd", * turn it into a full path. * On MS-Windows "vim" should be expanded to "vim.exe", thus always do * this. */ - # ifdef WIN32 char_u *path = NULL; if (mch_can_exe(argv0, &path, FALSE) && path != NULL) val = path; ! # else ! char_u buf[MAXPATHL]; ! if (!mch_isFullName(argv0)) { ! if (gettail(argv0) != argv0 ! && vim_FullName(argv0, buf, MAXPATHL, TRUE) != FAIL) ! val = buf; } # endif # endif set_vim_var_string(VV_PROGPATH, val, -1); --- 3597,3631 ---- { char_u *val = argv0; ! # if defined(WIN32) /* A relative path containing a "/" will become invalid when using ":cd", * turn it into a full path. * On MS-Windows "vim" should be expanded to "vim.exe", thus always do * this. */ char_u *path = NULL; if (mch_can_exe(argv0, &path, FALSE) && path != NULL) val = path; ! # else ! char_u buf[MAXPATHL + 1]; ! # ifdef PROC_EXE_LINK ! char linkbuf[MAXPATHL + 1]; ! ssize_t len; ! len = readlink(PROC_EXE_LINK, linkbuf, MAXPATHL); ! if (len > 0) { ! linkbuf[len] = NUL; ! val = (char_u *)linkbuf; } # endif + + if (!mch_isFullName(val)) + { + if (gettail(val) != val + && vim_FullName(val, buf, MAXPATHL, TRUE) != FAIL) + val = buf; + } # endif set_vim_var_string(VV_PROGPATH, val, -1); *** ../vim-8.0.0953/src/version.c 2017-08-17 16:55:08.641414733 +0200 --- src/version.c 2017-08-17 17:20:44.479362391 +0200 *************** *** 771,772 **** --- 771,774 ---- { /* Add new patch number below this line */ + /**/ + 954, /**/ -- ARTHUR: I've said I'm sorry about the old woman, but from the behind you looked ... DENNIS: What I object to is that you automatically treat me like an inferior... ARTHUR: Well ... I AM king. "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org ///