File mc-extfs-iso9660-xorriso.patch of Package mc

---
 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
openSUSE Build Service is sponsored by