Path: utzoo!mnetor!uunet!sdrc!scjones From: scjones@sdrc.UUCP (Larry Jones) Newsgroups: comp.os.vms Subject: Re: ARC Message-ID: <237@sdrc.UUCP> Date: 3 Mar 88 23:43:33 GMT References: <8802250714.AA18420@ucbvax.Berkeley.EDU> Organization: Structural Dynamics Research Corp., Cincinnati Lines: 42 In article <8802250714.AA18420@ucbvax.Berkeley.EDU>, EVERHART%ARISIA.DECnet@GE-CRD.ARPA writes: > > I finally received (thanks!) the ARC part 1 of the vms ARC posting. > I now have tried it... > ARC does work on files created as archives either BY ARC, > or by other transfer methods that store the files on disk as bitstreams > or their equivalents. For example, XMODEMs typically use fixed > 128 byte records in downloads. It (arc) fails badly on archives > created by Kermit in binary mode (even though sweep has no problems > with them and both msdos and Amiga ARC like 'em fine when transferred > to those machines.) I believe ARC must be ignoring the fact that > on variable length records (used by Kermit in binary files) there > are two bytes of record length before each record. Accordingly, > the file must be read by RECORDS, not by BLOCKS, to give the > correct effect. > Can anyone shed more light on the situation? Well, as the "author" of the VMS version, I suppose I can. You are correct that ARC is using block access to the archive and thus variable length records are not processed correctly. This is necessitated by the way ARC manipulates the file - it is necessary to seek forward and backward to arbitrary positions within the file and this is not possible with variable length records. > I suppose one can try using vms kermit FILE TYPE FIXED to > work around the problem, though there used to be a problem where > the last record was less than 512 bytes which has led me not to > use fixed filetypes much. Bingo! Apparently you did not get the (meager) documentation that I sent out since this was mentioned explicitly as a way to transfer archives in it. I don't know which version you have (or even off hand which version I have), but it works without any problems for me. > Is the fix straightforward in C? as I said above, the fix is nigh-on impossible. Use fixed length records. ---- Larry Jones UUCP: uunet!sdrc!scjones SDRC MAIL: 2000 Eastman Dr., Milford, OH 45150 AT&T: (513) 576-2070 "When all else fails, read the directions."