WildCat Enhanced UTIs v2.40e 1. Thanks to Chuck Mattern. A corrupted message file was causing the UTIs to lock up. In this case, the message size did not match the message record, causing a lock/loop as the UTIs searched for a valid end-of-message mark. Fixed. WildCat Enhanced UTIs v2.40d 1) I've been seeing a lot more bad command lines coming from PL. Originally, if there were not enough parameters the UTIs would display a message to the screen, but not log the error. This was a convenient way to find out a program's version number, or to see the command line structure. Starting with this version, all failed attempts to run the UTIs will be logged to the UTI.LOG file. Hopefully we can cut down on mysterious errors that don't get logged. 2) The Extend Handles routine has been dropped. I have a semi- commitement from Kip that there will always be at least 13 file handles available to the UTIs. The programs were modified in 2.40á to use fewer handles, so this should not be a problem. 3) If a Subject, From, or To line is blank, the UTIs will insert the word 'BLANK' in that message field. It is better to have a message from 'BLANK' than to have possible problems crop up. 4) UTIEXPRT speed increased by 50-70%. Since PostLink scans all imported messages for possible exports, the UTIs are able to speed up the scanning process by retrieving only the first part of each message. Once a valid export is detected, the UTIs switch to full message reads. WildCat Enhanced UTIs v2.40c 1) Added support for the MAXLINES environment variable. If this DOS variable is set, it will override the maximum message line setting in MakeWild. This variable affects all conferences and works on import only (of course). Example: SET MAXLINES=100 Let's say a particular conference only allows 40 lines. You set MakeWild to 40 lines so your callers can't leave longer messages, but you don't want network messages split on import. Using this variable gives you flexibility. It is optional. --------------------------------------------------------------------- WildCat Enhanced UTIs -- Beta Version for 2.40b PostLink Error Messages ----------------------- PostLink only reports the low-order byte of any of the UTI runtime error messages. For example, a 9901 error would be reported by PostLink as 173: (38 * 256) + 173 = 9901. 10070 would be 86: (39 * 256) + 86 = 10070 DOS, I/O, and Runtime error codes are defined as integers/words in Turbo Pascal and C++, but PostLink does not report the whole error code. If you receive a strange error, try checking the UTI.LOG file for the real error message. Memory Gobbling --------------- If PostLink (up to at least 1.02) is run with swapping disabled, it will shell to the UTIs with less and less memory each time. It looks like memory is being allocated to process messages, but is not de-allocated. I pared down the memory requirements of UTIIMPRT and UTIEXPRT in version 2.3 and haven't had any further reports of memory errors. Something to check if you see strange errors... File Handle Gobbling -------------------- First, some background on file handles: No matter how high you set your FILES= to in your config.sys file, each process is only allowed to open 20 files at a time. 5 of these files are reserved for standard I/O processes, so each program is limited to having 15 files open at a time. When PostLink first shells to UTIEXPRT or UTIIMPRT, 15 file handles are available for use -- unless you swap to disk, in which case 14 handles are available. HOWEVER, once messages are imported or exported, PostLink uses some file handles and does not release them. In my testing, I have seen as few as 8 file handles available to the UTIs. This was causing a error when UTIIMPRT tried to open the ALLUSERS file after the LOG file was already open. (For multi-line WC boards, ALLUSERS requires 3 file handles, for single-line, 2 handles.) Solutions: 1) The log file is now closed immediately after use. This may mean that the log file will be opened/closed repeatedly during processing. It is slower but safer. 2) Before opening the ALLUSERS file, UTIIMPRT will close the MSGxxx database file. After ALLUSERS is finished, MSGxxx will be reopened. 3) For those running DOS 3.3 or above, UTIIMPRT and UTIEXPRT now extend the number of file handles available to it to 40. Even if PostLink shells with only 2 file handles, the UTIs will continue to run.