mc/mc-extfs-iso9660-xorriso.patch

31 lines
1.4 KiB
Diff

---
src/vfs/extfs/helpers/iso9660.in | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
Index: mc-4.8.11/src/vfs/extfs/helpers/iso9660.in
===================================================================
--- mc-4.8.11.orig/src/vfs/extfs/helpers/iso9660.in 2014-01-01 19:44:49.000000000 +0000
+++ mc-4.8.11/src/vfs/extfs/helpers/iso9660.in 2014-01-01 19:46:02.000000000 +0000
@@ -38,13 +38,16 @@ xorriso_list() {
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} - 1))
- 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"
+ 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