tar.ijs works correctly with files created by linux tar. Files created from 7z give different format for count and checksum fields, may be it interprets RFC in a different way. I also tested that linux tar accetp tar files created from 7z. To fix this, please try replace the 2 lines in both tarf and tarx to
count=. 8#._48+a.i. ' '-.~ ({.~ i.&null) 12{.124}.d assert. (chksum{d) =&((0&".)@:({.~ i.&null)) (getchk d) Пнд, 04 Июн 2012, Robert Cyr писал(а): > File archiving, compressing etc. are fascinating fields, and as > Wikipedia indicates, the checksum for the header block should > normally be at offset 148, size 8 . It is " 6247" in my > 'HlpDict.tar' file before transfer to my iPad using iTunes. > > In 'tart': > The checksum is " 6247" (4 leading blanks), and chksum{d > correctly reads it. > But getchk d returns "006247 " (2 trailing blanks) > > The problem shows up in line 11 of 'tart' > > > Sent from my iPad > > On 2012-06-04, at 09:36, Eric Iverson <eric.b.iver...@gmail.com> wrote: > > > That blows my theory of a problem in J tar create. Probably a difference > > between my interpretation of the tar file spec and 7-zip. Although not the > > same, not that J tar exctract works on the addons tar of the dictionary. > > > > Perhaps you already ave, but it would be helpful if you could document > > exactly what bytes the 7-zip has for its checksum and what bytes J tar x > > things it should have. > > > > On Mon, Jun 4, 2012 at 9:28 AM, Robert Cyr <robert....@gmail.com> wrote: > > > >> The file was created with 7-Zip on a 64-bit vista pc. > >> > >> Sent from my iPad > >> > >> On 2012-06-04, at 08:56, Eric Iverson <eric.b.iver...@gmail.com> wrote: > >> > >>> I haven't had a chance to look at this, but if there is a big I expect it > >>> is in tar create. Most of the testing was done with tar 'x' (that is, > >>> extract). Quite a few addons, with quite a range of files and folder > >>> structures extract successfully. > >>> > >>> Can you confirm that the problem you found was with a file that the J tar > >>> created, rather than a file created by standard unix tar. > >>> > >>> If the bug is in J tar create checksum then it is probably easy to figure > >>> out the fix. > >>> > >>> On Sun, Jun 3, 2012 at 3:00 PM, Robert Cyr <robert....@gmail.com> wrote: > >>> > >>>> tar defines a var named checksum and uses a function named getchk. > >>>> > >>>> The 4 (out of 8) leading chars of checksum{d are '0', whereas the 4 > >>>> leading chars of getchk d are ' '. The other 4 are ok. > >>>> > >>>> This leads to an assertion failure. > >>>> > >>>> Sent from my iPad > >>>> ---------------------------------------------------------------------- > >>>> For information about J forums see http://www.jsoftware.com/forums.htm > >>>> > >>> ---------------------------------------------------------------------- > >>> For information about J forums see http://www.jsoftware.com/forums.htm > >> ---------------------------------------------------------------------- > >> For information about J forums see http://www.jsoftware.com/forums.htm > >> > > ---------------------------------------------------------------------- > > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm -- regards, ==================================================== GPG key 1024D/4434BAB3 2008-08-24 gpg --keyserver subkeys.pgp.net --recv-keys 4434BAB3 ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm