Sunday, 31 March 2013

Re: [gccsdk] Name conversion catches

In message <77431f2853.beeb@ron1954.woosh.co.nz>
Ron <beeb@woosh.co.nz> wrote:

> I created a new topic for the sake of clarity.
>
> > In message <b1ea532753.Jo@hobbes.bass-software.com>
> > John Tytgat <John.Tytgat@aaug.net> wrote:
>
> >> In message <f67e522753.beeb@ron1954.woosh.co.nz>
> >> Ron <beeb@woosh.co.nz> wrote:
>
> >>I still have the problem of textfile,xyz (where xyz is a recogniseable
> >> extension) causing tar to skip it.
> >> While it doesn't make much sense to have a file like that on the
> >> RISC OS filesystem (It should have been already converted by program foo)
> >> I'm aiming to be able to copy 'all' files verbatim and this is one
> >> that catches.
>
> >If you want to make that bullet proof Unixify should somehow escape the
> >"," in the RISC OS file name and you have to teach riscosify to do the
> >unescaping.
>
> Mmm, I'll keep it it mind. It only has to be done if the RISC OS file is
> type fff plus having ,xyz
> Types other than fff will actually work, but they go under the guise
> of non-textfile,xyz,xyz which is a bit messy looking but they do return
> with the type they left RISC OS with.
> I did try the force FFF ext riscosify option, but didn't see any
> change.
>
I haven't looked further into this yet.

> >
> >BTW, are RISC OS files "/" and "//" properly tar'd and can they be
> >untar'd on Unix ? :-)
>
> I checked Linux and you cant create "." or ".." but you can
> create "..."
> I have experimented and found I have my own conversion for the
> parsed top directory doing an 'up directory' when named "/" and on
> the subdirectories/files (tar internally) unixlib is just skipping
> everything below a "/" or "//"
>

<snip>
An easy way to examine the current unixlib conversion is to have
!Moonfish running and the shared directory open in RISC OS and Linux
simultaneously

I think the most natural way to allow "./." ".//." is to escape them
with the "\" character as this can be entered from the Linux side
in a normal way.
"\.\." as a name is OK under Linux and would allow creation of this
legitimate in RISC OS name, but the escape character "\" is being
converted to "?5C" at the moment.
Given that "\" is not allowed in a RISC OS name, I think all
occurrences of it could simply be removed at riscosifying time.
Instances of "./." or any number of purely "/" characters in a name
would be a special case requiring them to be preceded by as many
"\" as needed at unixifying time.

I am looking for the most likely way it would be implemented in
unixlib permanently so it would give all programs using ,xyz
compatibility one day.

Ron M.




_______________________________________________
GCCSDK mailing list gcc@gccsdk.riscos.info
Bugzilla: http://www.riscos.info/bugzilla/index.cgi
List Info: http://www.riscos.info/mailman/listinfo/gcc
Main Page: http://www.riscos.info/index.php/GCCSDK

No comments:

Post a Comment