From 40a0807185054a47cdd022fd36f0d44fc1bab9dd Mon Sep 17 00:00:00 2001 From: Adam Spiers Date: Fri, 28 Jun 2019 15:22:44 +0100 Subject: [PATCH] Check that find_stowed_path $path matches relative/absolute with target Watch out for a corner case probably only relevant in tests. --- lib/Stow.pm.in | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/Stow.pm.in b/lib/Stow.pm.in index 643ed89..77f67b3 100755 --- a/lib/Stow.pm.in +++ b/lib/Stow.pm.in @@ -961,6 +961,12 @@ sub find_stowed_path { # If no .stow file was found, we need to find out whether it's # owned by the current stow directory, in which case $path will be # a prefix of $self->{stow_path}. + if (substr($path, 0, 1) eq '/' xor substr($self->{stow_path}, 0, 1) eq '/') + { + warn "BUG in find_stowed_path? Absolute/relative mismatch between " . + "Stow dir $self->{stow_path} and path $path"; + } + my @stow_path = split m{/+}, $self->{stow_path}; # Strip off common prefixes until one is empty