mc/mc-extfs-iso9660-xorriso.patch
OBS User mrdocs dbec6cdb7f Accepting request 210681 from home:dnh:branches:Base:System
- fix the iso9660 some more and fall back from xorriso to isoinfo as
  xorriso fails on many DVD-iso files (well, that's UDF actually ..)

- add mc-extfs-iso9660-xorriso.patch
  fixing iso9660 extfs directory handling using xorriso
  see http://www.midnight-commander.org/ticket/3122

OBS-URL: https://build.opensuse.org/request/show/210681
OBS-URL: https://build.opensuse.org/package/show/Base:System/mc?expand=0&rev=80
2013-12-13 08:40:34 +00:00

26 lines
1.2 KiB
Diff

--- 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