walton@ametek.UUCP.UUCP (01/20/87)
In Info-Amiga Volume 2 #6, Michael Wagner asks about the case translation and filename munging which occurs when transferring files between UNIX and the Amiga. He also asks some compress questions, which I address and also add a few of my own. I hereby offer a reply which may be redundant, since Wagner's original message was posted to USENET on 30 Dec. From the Kermit protocol manual, Sixth Edition, by Frank da Cruz: "After stripping any pathname, convert the remainder of the file specification to the form 'name.type' with no restriction on length (except that it fit in the data field of the F packet), and: include no more than one dot; not begin or end with a dot; the name and type fields contain digits and uppercase letters." C-Kermit's normal behavior is to perform this conversion by replacing all special characters (including extra dots) with the letter X on sending a file. It also defaults to translating incoming file names to lower case on receipt. Both of these behaviors can be stopped using the SET FILE NAME LITERAL command to C-Kermit, which I always invoke when talking between my Amiga and C-Kermit. You can also use SET FILE TYPE BINARY to C-Kermit and "image" mode transfer on VT100 for a small increase in efficiency of text file transfer, which will turn off the <LF> to <CR><LF> to <LF> translation for end-of-line which would otherwise occur. VT100 does no filename translation on receive except for the conversion to lower case, which ought to be defeatable by option but isn't. In addition, VT100 versions 2.3 and 2.4 consistently crash my Amiga upon exiting the program if I perform a Kermit file transfer first. For serious Kermit file transfer work, I generally use C-Kermit itself on both ends. Unfortunately, the Amiga version of C-Kermit is quite large; the executable is 100+K long and doesn't even include the DIAL and SCRIPT commands. (The size may go down when it is recompiled with Lattice 3.10 and BLINK; I believe my current executable was produced with Lattice 3.04 and ALINK.) What the world really needs is a minimally functional, portable, and small version of C-Kermit for small computers. On compress: it doesn't remove the old file when it creates the new one, because the code assumes that unlink() is a unix-only call. Since not all C compilers for all non-UNIX machines implement unlink(), it's better to separate it out, I think. Also, I think Fred Fish considered the compress for the Amiga on disk 6 to be something of a test version, and his docs recommend not throwing away the uncompressed original until you're sure that the compression worked OK. Now, I have some compress questions: I have never succeeded in compressing a file on the Amiga and uncompressing it on a UNIX system; has anyone else? And has anyone gotten a working version of compress compiled with Aztec C? I know that you need the +D (large data) switch because of the humongous external array, as well as -DAMIGA; but as the mathematicians say, these conditions are necessary but not sufficient. Stephen Walton ARPA: ametek!walton@csvax.caltech.edu Ametek Computer Research Div. BITNET: walton@caltech 610 N. Santa Anita Ave. UUCP: ...!ucbvax!sun!megatest!ametek!walton Arcadia, CA 91006 USA 818-445-6811