Ticket #3570: reimplement xorriso part of iso9660 listing.
commitbbcfda3c629a8d49f8990b48d2f6e7eb6d114959
authorslowpeek <slowpeek@users.noreply.github.com>
Thu, 25 Apr 2024 22:24:56 +0000 (26 01:24 +0300)
committerAndrew Borodin <aborodin@vmail.ru>
Sat, 18 May 2024 16:47:06 +0000 (18 19:47 +0300)
tree6132b42639ac39cf9ebae3efc21538ebe3baaffb
parent794823b885b63439ab8c2ce5bc4436855c603834
Ticket #3570: reimplement xorriso part of iso9660 listing.

When xorriso is installed, iso9660 listing was done with `xorriso .. -lsl ..`
per dir recursively. It was unbearably slow on iso images with lots of subdirs.
For example, it took my machine 2 minutes to open debian-12.5.0-amd64-DVD-1.iso
which contains 2627 dirs. This commit makes use of `xorriso .. -find / -exec
lsdl ..` instead to list the whole directory tree in a single pass.

Also, parsing of xorriso output has been reworked and as a result such
previously missing items became visible in the listing:
- symlinks
- the boot catalog file

Closes MidnightCommander/mc#196.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
src/vfs/extfs/helpers/iso9660.in