forked from ungleich-public/cdist
		
	Resolve SC2012.
This commit is contained in:
		
					parent
					
						
							
								ec186673bf
							
						
					
				
			
			
				commit
				
					
						0458f66c96
					
				
			
		
					 2 changed files with 25 additions and 20 deletions
				
			
		|  | @ -33,8 +33,7 @@ destination_dir="${destination%/*}" | |||
| case "$type" in | ||||
|    symbolic) | ||||
|       cd "$destination_dir" || exit 1 | ||||
|       # TODO SC2012: use readlink or something? | ||||
|       source_is=$(ls -l "$destination" | sed 's/.*-> //g') | ||||
|       source_is=$(readlink "$destination") | ||||
|       if [ -h "$destination" ]; then | ||||
|          # ignore trailing slashes for comparison | ||||
|          if [ "${source_is%/}" = "${source%/}" ]; then | ||||
|  | @ -53,9 +52,13 @@ case "$type" in | |||
|          echo sourcemissing | ||||
|          exit 0 | ||||
|       fi | ||||
|       # TODO SC2012: use stat? | ||||
|       # Currently not worth the effor to change it, stat is not defined by POSIX | ||||
|       # and different OSes has different implementations for it. | ||||
|       # shellcheck disable=SC2012 | ||||
|       destination_inode=$(ls -i "$destination" | awk '{print $1}') | ||||
|       # TODO SC2012: use stat? | ||||
|       # Currently not worth the effor to change it, stat is not defined by POSIX | ||||
|       # and different OSes has different implementations for it. | ||||
|       # shellcheck disable=SC2012 | ||||
|       source_inode=$(ls -i "$source" | awk '{print $1}') | ||||
|       if [ "$destination_inode" -eq "$source_inode" ]; then | ||||
|          echo present | ||||
|  |  | |||
|  | @ -24,24 +24,26 @@ | |||
| destination="/$__object_id" | ||||
| 
 | ||||
| if [ ! -e "$destination" ]; then | ||||
|    echo none | ||||
|     echo none | ||||
| elif [ -h "$destination" ]; then | ||||
|    echo symlink | ||||
|     echo symlink | ||||
| elif [ -f "$destination" ]; then | ||||
|    type="$(cat "$__object/parameter/type")" | ||||
|    case "$type" in | ||||
|       hard) | ||||
|          # TODO SC2012: use stat? | ||||
|          link_count=$(ls -l "$destination" | awk '{ print $2 }') | ||||
|          if [ "$link_count" -gt 1 ]; then | ||||
|             echo hardlink | ||||
|             exit 0 | ||||
|          fi | ||||
|       ;; | ||||
|    esac | ||||
|    echo file | ||||
|     type="$(cat "$__object/parameter/type")" | ||||
|     case "$type" in | ||||
|         hard) | ||||
|             # Currently not worth the effor to change it, stat is not defined by POSIX | ||||
|             # and different OSes has different implementations for it. | ||||
|             # shellcheck disable=SC2012 | ||||
|             ink_count=$(ls -l "$destination" | awk '{ print $2 }') | ||||
|             if [ "$link_count" -gt 1 ]; then | ||||
|                 echo hardlink | ||||
|                 exit 0 | ||||
|             fi | ||||
|         ;; | ||||
|     esac | ||||
|     echo file | ||||
| elif [ -d "$destination" ]; then | ||||
|    echo directory | ||||
|     echo directory | ||||
| else | ||||
|    echo unknown | ||||
|     echo unknown | ||||
| fi | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue