From 40b7b047a3fbf6451228de7f69c8ad5f156f7d1c Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Sat, 6 Jun 2026 18:12:33 +0200 Subject: reorganize files --- src/path.sh | 94 ------------------------------------------------------------- 1 file changed, 94 deletions(-) delete mode 100644 src/path.sh (limited to 'src/path.sh') diff --git a/src/path.sh b/src/path.sh deleted file mode 100644 index 4fcdb94..0000000 --- a/src/path.sh +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (c) 2016 Egor Tensin -# This file is part of the "Config file sharing" project. -# For details, see https://github.com/egor-tensin/config-links. -# Distributed under the MIT License. - -# Making sure paths point to files/directories - -_traverse_path_usage() { - local prefix="${FUNCNAME[0]}" - [ "${#FUNCNAME[@]}" -gt 1 ] && prefix="${FUNCNAME[1]}" - - local msg - for msg; do - echo "$prefix: $msg" - done - - echo "usage: $prefix [-h|--help] [-0|--null|-z|--zero] [-e|--exist] [-f|--file] [-d|--directory] [--] [PATH]..." -} - -traverse_path() { - local -a paths=() - - local must_exist= - local type_flag= - local type_name= - - local fmt='%s\n' - - while [ "$#" -gt 0 ]; do - local key="$1" - shift - - case "$key" in - -h|--help) - _traverse_path_usage - return 0 - ;; - -0|--null|-z|--zero) - fmt='%s\0' - ;; - --) - break - ;; - -e|--exist) - must_exist=1 - ;; - -d|--directory) - type_flag=-d - type_name="directory" - ;; - -f|--file) - type_flag=-f - type_name="regular file" - ;; - -*) - _traverse_path_usage "unrecognized parameter: $key" >&2 - return 1 - ;; - *) - paths+=("$key") - ;; - esac - done - - paths+=("$@") - - [ "${#paths[@]}" -eq 0 ] && return 0 - - if is_cygwin; then - local i - for i in "${!paths[@]}"; do - paths[$i]="$( cygpath -- "${paths[$i]}" )" - done - fi - - local -a abs_paths=() - - local path - readlink -z --canonicalize-missing -- ${paths[@]+"${paths[@]}"} | while IFS= read -d '' -r path; do - if [ -n "$must_exist" ] && [ ! -e "$path" ]; then - dump "must exist: $path" >&2 - return 1 - fi - - if [ -e "$path" ] && [ -n "$type_flag" ] && ! test "$type_flag" "$path"; then - dump "must be a $type_name: $path" >&2 - return 1 - fi - - abs_paths+=("$path") - done - - printf -- "$fmt" ${abs_paths[@]+"${abs_paths[@]}"} -} -- cgit v1.3