Hi Ron,
> Unfortunately it is not so simple, the linux tar does not allow the
> '\' character in a name the way !moonfish and the linux filer can,
> possibly because it conflicts with Dos separators, I don't know.
Are you sure about that?
    $ ls -l
    total 0
    -rw-r--r-- 1 ralph ralph 0 2013-04-07 12:58 a
    -rw-r--r-- 1 ralph ralph 0 2013-04-07 12:58 back\slash
    -rw-r--r-- 1 ralph ralph 0 2013-04-07 12:58 character
    $
    $ tar cvf - . | tar tvf -
    ./
    ./a
    ./character
    ./back\\slash
    drwxr-xr-x ralph/ralph       0 2013-04-07 12:58 ./
    -rw-r--r-- ralph/ralph       0 2013-04-07 12:58 ./a
    -rw-r--r-- ralph/ralph       0 2013-04-07 12:58 ./character
    -rw-r--r-- ralph/ralph       0 2013-04-07 12:58 ./back\\slash
    $
I've lost track what problem is trying to be solved here but the normal
way is to find characters that can be paired and transliterated for each
other, e.g. `/' on Unix becomes `.' on RISC OS, and if there are some
that don't pair up then an escape mechanism is needed, e.g. ` ' would
become `?20', remembering to escape the escape character itself to
`?3f'.  (I forget RISC OS's special characters so `?' was picked at
random.)
That then leaves the problem of filename and pathname length
differences, including expansion caused by the escape mechanism.
Cheers, Ralph.
_______________________________________________
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