                        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.

