From 4bc141d2af8a68b4235f4c5a40e21c54c6ce8343 Mon Sep 17 00:00:00 2001 From: Yorick Barbanneau Date: Tue, 5 Oct 2021 16:40:55 +0200 Subject: [PATCH] Rename process functions --- src/dotinstall | 50 ++++++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/src/dotinstall b/src/dotinstall index f20c561..a6b2a41 100755 --- a/src/dotinstall +++ b/src/dotinstall @@ -209,13 +209,12 @@ private:update_repository () cd "$current_dir" || die "Can't return to directory $current_dir" } -process_dirs () { - - # Process a directory than contains subdir, create symblink from each subdir - # to the destination. - # - # $1: source directory - # $2: destination directory +link_directory () { + + # Create a symblink to directory inside an other directory + # + # $1: source directory + # $2: destination directory local source source="${repository}/$1" @@ -223,23 +222,42 @@ process_dirs () { dest="$2" printf "\nProcess directory %s\n" "$source" + [ ! -d "$source" ] && { error " -> source is not a directory"; return; } + [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } + + if [ $install -eq 1 ] + then + private:create_symblink "$source" "${dest}/$(basename "$d")" + else + local symblink="${dest}/$(basename "$d")" + private:remove_symblink "$symblink" + fi +} + +link_directories () { + + # Process a directory than contains subdir, create symblink from each subdir + # to the destination. + # + # $1: source directory + # $2: destination directory + + local source + source="$1" + local dest + dest="$2" + printf "\nProcess directory %s\n" "$source" + [ ! -d "$source" ] && { error " -> source is not a directory"; return; } [ ! -d "$dest" ] && { error " -> destination is not a directory"; return; } while read -r d do - if [ $install -eq 1 ] - then - private:create_symblink "$d" "${dest}/$(basename "$d")" - else - local symblink="${dest}/$(basename "$d")" - private:remove_symblink "$symblink" - fi - + link_directory "$d" "${dest}" done < <(ls -d -1 "${source}"/*/) } -process_files () { +link_files () { # Process a directory than contains config files, create symblink from each # files to the destination.