[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Libcdio-devel] Rock Ridge RRIP Deep Directory support
From: |
Thomas Schmitt |
Subject: |
Re: [Libcdio-devel] Rock Ridge RRIP Deep Directory support |
Date: |
Thu, 30 Apr 2020 13:52:49 +0200 |
Hi,
Pete Batard wrote:
> feel free to jump in.
Only with some remarks for now. :))
It seems that the handling of relocated directories is currently
inconsistent.
Entry RE leads to silent refusal or warning, but entry CL is ignored.
RE indicates that the directory entry describes a relocation target
like /RR_MOVED/8.
So files in a relocated directory can neither be reached via the deep
path nor by the path under the relocation directory /RR_MOVED.
It seems to be a good habit of ISO 9660 producers to have a dedicated
parent for the relocated directories (here /RR_MOVED), and to mark
this parent too by an RE entry. (RRIP 1.12 does not prescribe this.)
This might be the reason for the error message of extract:
"Could not access /rr_moved" rather than a message about "/rr_moved/8".
So enabling the interpretation of CL in
#ifdef FINISHED
case SIG('C','L'):
would probably not worsen the situation much.
Alternatively one could put the handling of RE under the same macro
reservation #ifdef FINISHED, so that libcdio is simply ignorant of
relocation as long as relocation is not completely implemented.
Actually i fail to see occasions of relocation handling in libisofs
which would not be roughly covered by the code in libcdio. (But i am
not the one who initially implemented relocation in libisofs.)
Problems might still be in the details or in libcdio architecture aspects
of which i am not aware.
Have a nice day :)
Thomas