]> ruderich.org/simon Gitweb - config/dotfiles.git/commitdiff
lib.sh: link(): simplify file checks
authorSimon Ruderich <simon@ruderich.org>
Mon, 21 Apr 2014 08:16:59 +0000 (10:16 +0200)
committerSimon Ruderich <simon@ruderich.org>
Mon, 21 Apr 2014 08:16:59 +0000 (10:16 +0200)
lib.sh

diff --git a/lib.sh b/lib.sh
index ba4e658f978d4033e732b88839577341729e6209..d19669b59e480d0c95e357c4c8abdeb6b6184112 100644 (file)
--- a/lib.sh
+++ b/lib.sh
@@ -2,7 +2,7 @@
 #
 # Their setup.sh script sources this file.
 
-# Copyright (C) 2009-2013  Simon Ruderich
+# Copyright (C) 2009-2014  Simon Ruderich
 #
 # This program is free software: you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -153,15 +153,14 @@ link() {
 
     # Abort if the target file exists and is no symbolic link. Prevents
     # overwriting real files.
-    if ( test -f "$target" && test ! -h "$target" ) || \
-            ( test -s "$target" && test ! -h "$target" ); then
+    if test -e "$target" && test ! -h "$target"; then
         printf "link(): target '%s' exists already and is no symbolic link!" \
                "$target" >&2
         exit 1
     fi
 
-    # Make sure the source exists (is file, directory or link).
-    if test ! -f "$source" && test ! -d "$source" && test ! -h "$source"; then
+    # Make sure the source exists.
+    if test ! -e "$source"; then
         printf "link(): source '%s' doesn't exist!" "$source" >&2
         exit 1
     fi