mc/mc-extfs-iso9660-xorriso.patch

26 lines
1.2 KiB
Diff
Raw Normal View History

--- mc-4.8.11/src/vfs/extfs/helpers/iso9660.in.orig 2013-12-12 10:57:16.000000000 +0100
+++ mc-4.8.11/src/vfs/extfs/helpers/iso9660.in 2013-12-12 13:04:28.000000000 +0100
@@ -38,13 +38,16 @@
return 1
fi
local dir attr ln usr gr sz dt1 dt2 dt3 nm len name
- dir="$2"
- $XORRISO -dev stdio:"$1" -cd "$dir" -lsl 2> /dev/null | @GREP@ "^[-d]" | \
+ dir="${2:-/}"
+ lsl=$( $XORRISO -abort_on FATAL -dev stdio:"$1" -cd "$dir" -lsl 2> /dev/null )
+ r=$?
+ test $r -gt 0 && return $r
+ echo "$lsl" | /usr/bin/grep "^[-d]" | \
while read attr ln usr gr sz dt1 dt2 dt3 nm ; do
- len=$((${#nm} - 2))
- name=$(printf "$nm" | cut -c2-$len) # remove quotes
- if test $(printf "$nm" | cut -c1-2) != "d"; then
- printf "%s %s %s %s %s %s %s %s %s/%s\n" "$attr" "$ln" "$usr" "$gr" "$sz" "$dt1" "$dt2" "$dt3" "$dir" "$name"
+ len=$((${#nm} - 1))
+ name=$(printf -- '%s' "$nm" | cut -c2-$len) # remove quotes
+ if test $(printf -- '%s' "$attr" | cut -c1) != "d"; then
+ printf -- "%s %s %s %s %s %s %s %s %s/%s\n" "$attr" "$ln" "$usr" "$gr" "$sz" "$dt1" "$dt2" "$dt3" "$dir" "$name"
else
xorriso_list "$1" "$dir/$name"
fi