📄 ckc192.upd
字号:
ckcmai.c, ckuus7.c. 4 Nov 93.Added KANJI, RTS/CTS, Curses, CK_WREFRESH to DEC OSF/1 version, built, testedOK on OSF/1-AlphaAXP 1.3.111. RTS/CTS compiled OK, but I don't know if itactually works. REDIRECT compiles but doesn't work ("missing pieces").4 Nov 93.Added CK_TMPDIR feature to VMS version. isdir() function for VMS receivedfrom William Bader <wbader@pluto.csee.lehigh.edu>. Moved CK_TMPDIR definitionfrom ckcker.h to ckcdeb.h, because we might want to use it in the ck?fio.cmodules. ckuusr.c, ckcker.h, ckcker.h, ckcfns.c, ckuus[r6].c;ckvfio.c 5A(102), 5 Nov 93. Rearranged #ifdefs for CK_SYSINI (compile-time option for system-wide initfile) and moved them from ckuusr.c to ckuusr.h. Now you can (at least inUNIX) give CK_DSYSINI as a command-line option to accept a built-in defaultfully qualified file specification for a system-wide C-Kermit init file,/usr/local/bin/kermit.sysini. 5 Nov 93.Added Stratus-VOS-specific modules from David R. Lane, SoftCom Systems Inc:cklcon.c, cklfio.c, ckltio.c, cklnet.c (includes TCP/IP and X.25), ckldef.c,plus build procedure cklmak.cm. 5 Nov 93.Added automatic enabling of REDIRECT command for various UNIX systems wherewe know it works in ckcdeb.h. Can be overridden by defining NOREDIRECT atcompile time. 6 Nov 93.Fixed stupid mistake in system-wide init-file #ifdefs, noticed by JamieWatson. ckuusr.h, 6 Nov 93. Also, fixed SHOW commands to display system-wideinit file name if it has been configured and used, and to allow more space fordisplaying it. Also, changed init file name buffer to be dynamicallyallocated if DCMDBUF defined, and increased its size from 100 to 256 since itcan now be a full path name.Added a new command-line argument: -D n (uppercase D followed by a number),equivalent of SET DELAY command. Jamie Watson noticed there was no way toget Kermit to use a shorter (or different) delay when sending files viacommand-line arguments. ckuusy.c. 6 Nov 93.Added correct identification of Alpha (AXP) CPU for \v(cpu), designer bannersfor DEC OSF/1 on Alpha. Also added O2 optimization, ANSI C prototyping, plusREDIRECT command is now working on Alpha-OSF/1. \v(cpu) also works on OpenVMSAXP. Combined dec-osf and dec-osf-pc UNIX makefile entries. 6 Nov 93.After EXITing from the wrong Kermit one time too many, unintentionallydropping a connection, I added a new command SET EXIT WARNING { ON, OFF }.If ON, and Kermit is in local mode, and it thinks it has an open serial ornetwork connection, it will warn you and give you a chance to back out ofthe EXIT command. EXIT WARNING OFF is the default, for compatibility.ckuusr.h ckuusr.c ckuus3.c, 6 Nov 93. NOTE: the ability of C-Kermit to knowwhether a connection is open or not depends on a lot of system-dependentthings. In UNIX and OS/2, Kermit's guess is pretty reliable, based on the"tty" file descriptor (ttyfd), modem signals, etc. In other versions, wecan't tell so well, so we always warn and ask if EXIT WARNING is ON.In the course of adding SET EXIT WARNING, fixed a bug in the command package,in which, if a temporary prompt was in effect and prompt() was called with aNULL conversion function, then ?-help would put back the regular promptinstead of the temporary one. ckucmd.c 5A(055) 6 Nov 93.Added SHOW EXIT to display EXIT WARNING setting, exit status. ckuus5.c.Added ttruncmd() code for OS/2 from Kai Uwe Rommel, and enabledREDIRECT command for OS/2. ckotio.c 5A(106), 6 Nov 93.Added IF DIRECTORY command. Succeeds if operand is a directory, failsotherwise. Uses new isdir() function, currently filled in for UNIX, VMS,OS/2. Is included if CK_TMPDIR symbol is defined. ckuusr.h, ckuus6.c,6 Nov 93.Added IF NEWER command. Compares modification (or creation) date/timesof two files, succeeds if first file is newer than second file. Dependson zfcdat() function, which is defined for most versions, but not for VMSor OS-9. Added a section to ckcdeb.h that defines the symbol ZFCDAT foreach implementation that provides this function. ckcdeb.h, ckuusr.h,ckuus6.c, 6 Nov 93.Added new function \Fdate(filename). Available if ZFCDAT is defined.Returns creation date of file in "yyyymmdd hh:mm:ss" format, or else thenull string upon failure. Also changed SHOW FUNCTIONS to do "more?"-stylepaging, like SHOW VARIABLES. ckuusr.h, ckuus4.c, ckuus5.c. 6 Nov 93.Changed SET BUFFERS command to default the second (receive) buffer to bethe same size as the first (send) buffer, so user doesn't have to type twonumbers. ckuus3.c, 6 Nov 93.Added CK_WREFRESH support for DEC ULTRIX (all versions) and IBM RT PC AIX.Verified by Jamie Watson. ckcdeb.h, 7 Nov 93.Increased -Olimit for ULTRIX 4.2, since new \v(dialstatus) code pushed theoptimizer over the edge. From Jamie Watson. makefile, 7 Nov 93.Changed SET EXIT WARNING to not warn on a serial connection if SET CARRIERis OFF. ckuusr.c, 7 Nov 93.Added SET EXIT STATUS to let user set program return code without actuallyhaving to exit. For example, user can OR in various bits at different times.ckuus3.c, 7 Nov 93.Updated UNIX man page. ckuker.nr, 8 Nov 93.Added zfcdat() to VMS version, for \fdate(filename), IF NEWER, etc.Contributed by William Bader. CKVFIO.C 5A(104), 9 Nov 93.Changed VMS C-Kermit version to always be in foreground mode, i.e. to neverset the backgrd flag. There is no notion of background (in the UNIX sense) inVMS. If C-Kermit is not running on a real terminal, then either it has itsSYS$INPUT and/or SYS$OUTPUT redirected, or it's running in batch. In eithercase, it can always do console output. Also, I installed a patch from<tcwkw@sf.msc.edu> to sysinit() to prevent it from trying to get info aboutthe console terminal when the console is not a terminal. CKVTIO.C 2.0(063),9 Nov 93.Got new LIBCMU ...Discovered that the new INPUT buffering broke code the INPUT command undercertain circumstances, notably when using a VMS C-Kermit script to make aTCP/IP connection; after the first 1-second timeout, netinc(1) would start toget i/o errors (socket_errno == EBUSY, "Mount device busy") and then wouldreturn -1 immediately without actually timing out any more. The INPUTbuffering code made the erroneous assumption that if ttchk() returned apositive number n, that n successive calls to ttinc() would succeed, and thisis apparently not always the case in VMS. For now, the quick fix is to removethe INPUT buffering code (I left it in place, but conditionalized on CK_BURST,which is #undef'd). When I have some spare time, I'll change INPUT to do itsown buffering, just like CONNECT, rather than relying on some unseen andpossibly unreliable underlying buffering mechanism. ckuus4.c, 9 Nov 93.Edited OS/2 section of standard (sample) CKERMOD.INI file to not swap Esc andaccent grave keys, and to include hint messages about key mapping and colors.Changed -Otcl in SCO Xenix 3.2 to -O. It seems that -Otcl was producing badcode, at least in the SCRIPT command (noticed by Michael Haws<michael@suntex.com>; expect strings would always fail). makefile, 12 Nov 93.Added \v(keyboard) for OS/2 C-Kermit. Returns keyboard type: 88, 101, 122,are the known types. If OS/2 senses some other type, its 4-byte hex code isreturned. If OS/2 fails to get the keyboard type, the empty string isreturned. Code adapted from Kai Uwe Rommel's example. ckcdeb.h, ckuusr.h,ckuus4.c, ckotio.c, cpcplm.doc. 15 Nov 93.Added WILL SGA response to DO SGA. This never came up before. Problemreported by Wayne Hauber <wjhauber@isstate.edu>, with Apartus TechnologiesTelnet Gateway Service to Iowa State U Library's NOTIS system. ckcnet.c5A(022), 17 Nov 93.Changed debug log entries for TELNET negotiations to be one-liners, allstarting with TELNET, looking mostly like the UNIX telnet "toggle options"display. Now you can get all TELNET negotions via "grep ^TELNET debug.log".ckcnet.c. 17 Nov 93.Peter Kabal <kabal@aldebaran.ee.mcgill.ca> noticed that SET SPEED can fail inUltrix 4.2 on the DECstation 2100 for speeds over 9600, but the system calldoes not return any error indication. Therefore, all three places in C-Kermitthat call ttsspd() to set the device's speed were changed to read it backwith ttgspd() before setting the global 'speed' variable. ckuus3.c, ckuus7.c,ckuusy.c, 17 Nov 93.Changed the OS/2 C-Kermit installation procedure to skip all COM-port relatedquestions if the user says she will not be using a COM port (e.g. forTCP/IP-only installation), and to skip modem-related questions if a modem willnot be used. ckoins.cmd (= install.cmd), 17 Nov 93.Discovered why certain login scripts were not working on OS/2. The clause"for (j = i; i-- > 0; )" was not generating the intended code, at least notwhen compiled by IBMCPP (the same code worked OK in most other versions).Moved the decrementing of i into the loop and then it worked fine. ckuus4.c,18 Nov 93.After successfully executing a login script, OS/2 C-Kermit tended to have itsechoing wrong. To alleviate this problem, apparently caused by tn_ini() beingcalled multiple times gratuitously, in spite of seemingly scrupulous settingand clearing of the tn_init flag at all appropriate places, I removed allcalls to tn_ini() (and all references to tn_init) from all modules of allC-Kermit versions. tn_ini() is now called only from within net_open(), afternet_open() has determined that it has just made a successful TELNETconnection. Many modules affected: ck*tio.c, ck*net.c, ck*con.c, 18 Nov 93.Changed OS/2 C-Kermit "set terminal color normal" to "set terminal colorterminal-screen", which makes more sense. Left "normal" as an invisiblesynonym. ckuus7.c, 18 Nov 93.Discovered that TELNET'ing from OS/2 C-Kermit to a host with a long nametended not to work. In one case ("telnet martini.eecs.umich.edu 3000"), itwould crash C-Kermit completely. Traced the problem to (a) an inadequatebuffer size in ckotio.c, which in turn was based on a pre-network definitionof the symbol DEVNAMLEN, and (b) the use of strcpy() rather than strncpy() inckocon for setting up the status line. Also, I rearranged the status lineto give more room to display the host name.ckocon.c 5A(105), ckotio.c 5A(108) 18 Nov 93.REDIRECT doesn't work on OS/2 network connections, so I changed the REDIRECTcommand to fail under these conditions (instead of doing nothing). ckuusr.c5A(111) 18 Nov 93.The INPUT command did not work correctly on VMS systems with DEC TCP/IP (UCX)when executed over a TELNET connection. Diagnosis: when the socket_read()call was interrupted by an alarm/longjmp, subsequent calls to socket_read()would fail with socket_errno 16, EBUSY, "mount device busy". Cure: replacethe timer in netinc(), formerly alarm/signal/longjmp, with select().Complication: the UCX programming environment did not include the necessaryheader file, so the needed items (including copyright notice) had to be copiedfrom 4.4BSD /usr/include/sys/types.h. Note: It would also be possible to addselect() for MultiNet, but it doesn't seem necessary; scripts, timeouts, etc,work ok. ckcnet.h, ckcnet.c 5A, 20 Nov 93.Now that the VMS and OS/2 INPUT commands are fixed, I tried turning onCK_BURST again (speedup for INPUT command by detecting bursts, code from ChuckGoodheart at NASA). It works in MultiNet on the Alpha. It works in MultiNeton the VAX. It works in UCX on the VAX. It works in UNIX. It works in OS/2on both serial and TCP/IP connections. And it's fast. Tested with manyservices directory entries. ckuus4.c, 20 Nov 93.Added a new variable \v(cps), that tells the speed in characters per second ofthe last protocol operation. ckuusr.h, ckuus4.c. 20 Nov 93.Added a new function \fsize(filename), which returns the size of the givenfile. ckuusr.h, ckuus4.c. 20 Nov 93.Changed SHOW FUNCTIONS and SHOW VARIABLES not to list invisible items.ckuus5.c, 20 Nov 93.Peter Manzella at DEC noticed that MSEND commands could fail in VMS because ofa memory leak in ckuusr.c. Solution: (1) increase the size of the buffer forVMS from 1K to 4K (since it needs it, and can afford the memory); (2) plug thememory leak. The same thing could happen in UNIX as a result oftilde-expansion. ckucmd.h (CMDBL definition), ckuusr.c 5A(112), 20 Nov 93.Added a trailing catch-all #else clause for the new CK_TMPDIR section inthe RECEIVE command, suggested by David Lane. ckuusr.c, 20 Nov 93.Changed SET KEY to allow { braces } around the key definition, like OUTPUT,INPUT, ECHO, and other commands, to allow easier specification of stringswith leading and/or trailing blanks, and for consistency with all the othercommands. ckuusr.c, 20 Nov 93.Noticed that curses did not always do a great job of optimizing screen
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -