aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZyX <kp-pav@yandex.ru>2018-04-02 00:07:05 +0300
committerZyX <kp-pav@yandex.ru>2018-04-02 00:07:05 +0300
commit7eceac218e8c8c8e10ff2a5461870ecfaba3fd42 (patch)
tree8495d6d730ecd2aa0fc3cc20976cbe82417f0e43
parent98e71123900fbdf26a16a43297a1f58118cde41b (diff)
downloadrneovim-7eceac218e8c8c8e10ff2a5461870ecfaba3fd42.tar.gz
rneovim-7eceac218e8c8c8e10ff2a5461870ecfaba3fd42.tar.bz2
rneovim-7eceac218e8c8c8e10ff2a5461870ecfaba3fd42.zip
pvscheck: Make realdir work with nonexistent directories
-rwxr-xr-xscripts/pvscheck.sh12
1 files changed, 10 insertions, 2 deletions
diff --git a/scripts/pvscheck.sh b/scripts/pvscheck.sh
index 314966f6aa..84b42c2bae 100755
--- a/scripts/pvscheck.sh
+++ b/scripts/pvscheck.sh
@@ -302,8 +302,16 @@ create_compile_commands() {(
# realpath is not available in Ubuntu trusty yet.
realdir() {(
local dir="$1"
- cd "$dir"
- printf '%s\n' "$PWD"
+ local add=""
+ while ! cd "$dir" 2>/dev/null ; do
+ add="${dir##*/}/$add"
+ local new_dir="${dir%/*}"
+ if test "$new_dir" = "$dir" ; then
+ return 1
+ fi
+ dir="$new_dir"
+ done
+ printf '%s\n' "$PWD/$add"
)}
patch_sources() {(