summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Mike Burns <mike@mike-burns.com>2014-05-06 14:00:54 +0200
committerGravatar Mike Burns <mike@mike-burns.com>2014-05-06 14:00:54 +0200
commitc9d180900a3f8e54b456c9e71bfaac930bbc2478 (patch)
tree4e768ad20bb68db6a294906e551ba77fd6429b35
parent7b7354dfe862c93fd8f496671b3e08c0a3f7f4d9 (diff)
Bugfix: do not break out of the for loop
A `break` anywhere inside a `for` loop (even inside a `case`) will exit from the innermost loop. Replace the `break` with a `:` to get the desired effect. Spotted by Pat Brisin.
-rwxr-xr-xbin/mkrc.in4
-rw-r--r--test/mkrc-simple-output.t13
2 files changed, 15 insertions, 2 deletions
diff --git a/bin/mkrc.in b/bin/mkrc.in
index e173eae..e8d3864 100755
--- a/bin/mkrc.in
+++ b/bin/mkrc.in
@@ -79,8 +79,8 @@ fi
for file in $files; do
case "$file" in
- /*) break;;
- *) [ -e "$PWD/$file" ] && file="$PWD/$file"
+ /*) : ;;
+ *) [ -e "$PWD/$file" ] && file="$PWD/$file" ;;
esac
dotless="$(de_dot "$file")"
dest="$(destination "$DOTFILES_DIR" "$dotless" $in_host "$tag")"
diff --git a/test/mkrc-simple-output.t b/test/mkrc-simple-output.t
index c18886c..9db263d 100644
--- a/test/mkrc-simple-output.t
+++ b/test/mkrc-simple-output.t
@@ -47,9 +47,22 @@ preserving the full path then symlink
> cd .nested/deeply
$ mkrc -v another_example
+ > cd ../..
Moving...
'*/.nested/deeply/another_example' -> '*/.dotfiles/nested/deeply/another_example' (glob)
Linking...
'*/.dotfiles/nested/deeply/another_example' -> '*/.nested/deeply/another_example' (glob)
$ assert_linked "$HOME/.nested/deeply/another_example" "$HOME/.dotfiles/nested/deeply/another_example"
+
+Making an absolute rc file
+
+ $ touch .an_example
+
+ $ mkrc -v $PWD/.an_example
+ Moving...
+ '*/.an_example' -> '*/.dotfiles/an_example' (glob)
+ Linking...
+ '*/.dotfiles/an_example' -> '*/.an_example' (glob)
+
+ $ assert_linked "$HOME/.an_example" "$HOME/.dotfiles/an_example"