home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / LST102.ZIP / LST.DOC next >
Text File  |  1989-09-13  |  28KB  |  581 lines

  1.           LST: A File Viewing Utility for OS/2 Protected Mode
  2.                              Version 1.02
  3.                           13 September 1989
  4.  
  5.                    (c) Copyright Brady Flowers, 1989
  6.                           All rights reserved
  7.  
  8.  
  9. I. Restrictions
  10.  
  11.     LST is supplied for personal, private use. Feel free to
  12.   distribute LST given these restrictions:
  13.  
  14.    -  the program shall be supplied in its original, unmodified
  15.       form, which includes this documentation;
  16.  
  17.    -  no fee is charged;
  18.  
  19.    -  use for profit without a license is prohibited;
  20.  
  21.    -  the program may not be included or bundled with other
  22.       goods or services. Exceptions may be granted upon written
  23.       request only.
  24.  
  25.  
  26.     If you are using LST and find it of value, your gift in any
  27.   amount ($15 suggested) will be greatly appreciated.  Please make
  28.   checks payable in U.S. dollars to Brady R. Flowers. Canadian and
  29.   non-U.S. checks are not acceptable.
  30.  
  31.     For use by corporations and other institutions, please  contact
  32.   the author for a licensing arrangement.
  33.  
  34.  
  35. II. System Requirements
  36.  
  37.     LST is written for the IBM PC/AT, IBM PS/2, or any compatible
  38.   computer that can run MS OS/2 or IBM OS/2.  LST will run in OS/2
  39.   Protected Mode only and may be run from either a full screen OS/2
  40.   session or on a Presentation Manager VIO window.
  41.  
  42.  
  43. III. Using LST
  44.  
  45.  
  46. A. The Command Line
  47.  
  48.   Command line syntax for LST is as follows:
  49.  
  50.           LST [options] filespec [filespec ...]
  51.  
  52.   where:
  53.  
  54.     "filespec" is a valid OS/2 file name or ambiguous file spec.
  55.     Examples are "lst.doc" or "c:\usr\*.txt".
  56.  
  57.     "options" is a string which begins with the character "-" followed
  58.     by any of the following (in either upper or lower case):
  59.  
  60.       "h"      forces the first file to be loaded in Hex Mode.  The
  61.                  display mode, Hex or Text, may be altered from within
  62.                  LST also with the restriction that certain files are
  63.                  always displayed in Hex Mode (see discussion below).
  64.                  If this option if omitted, it defaults to Text Mode
  65.                  (with the exceptions noted below).
  66.  
  67.       "s"      causes the first file loaded to be read from standard
  68.                  input rather than from disk.  Other files may be given
  69.                  on the command line and subsequently displayed however
  70.                  the "stdin" file is not viewable in hex mode and the
  71.                  presence of the "s" option will negate any occurrence
  72.                  of the "h" option on the command line.
  73.  
  74.       "m"      followed by any non-negative decimal number, allows you       |
  75.                  to set the behavior of the mouse.  If the number is         |
  76.                  zero, the mouse handler operates in "polled" mode           |
  77.                  which is bad as far as CPU usage goes but allows for        |
  78.                  you to easily use both the mouse and the keyboard           |
  79.                  interchangeably (this is the default setting). If the       |
  80.                  number is one, the mouse is not polled but key strokes      |
  81.                  from the keyboard will not be received in a timely          |
  82.                  manner (actually this setting is just there for my          |
  83.                  own debugging purposes).  If the number is greater than     |
  84.                  one, the mouse is completely disabled and all commands      |
  85.                  must come from the keyboard.                                |
  86.                                                                              |
  87.       "z"      followed by any non-negative decimal number, sets the         |
  88.                  number of milliseconds LST yields to the CPU between        |
  89.                  keystrokes and mouse events.  If running LST seems to       |
  90.                  be slowing other tasks running on your system down,         |
  91.                  try setting this to a higher value.  The default value      |
  92.                  is two.                                                     |
  93.  
  94.       "t"      followed by any non-negative decimal number, sets the
  95.                  tab expansion to that value.  If the number is zero,
  96.                  tabs are not expanded and tab characters will be
  97.                  displayed on screen.  In the current version of LST,
  98.                  this value is only alterable by the command line.
  99.                  If this option if omitted, it defaults to 2.
  100.  
  101.       "l"      followed by any positive decimal number, sets the number
  102.                  screen rows to that value.  LST will attempt to reset
  103.                  the video state to that number of rows.  If the video
  104.                  mode cannot be reset appropriately, LST defaults to the
  105.                  current screen mode.  In the current version of LST,
  106.                  this value is only alterable by the command line.
  107.                  If this option if omitted, it defaults to 43.
  108.  
  109.       "c"      followed by any positive decimal number, sets the number
  110.                  screen columns to that value.  LST will attempt to reset
  111.                  the video state to that number of columns.  If the video
  112.                  mode cannot be reset appropriately, LST defaults to the
  113.                  current screen mode.  In the current version of LST,
  114.                  this value is only alterable by the command line.
  115.                  If this option if omitted, it defaults to 80.
  116.  
  117.       "a"      followed by nine hexadecimal bytes (eighteen characters
  118.                  from the set "0123456789abcdef") which specify the screen
  119.                  attributes for the following sections of LST's screen:
  120.  
  121.                     Screen Area              Default   Color
  122.                     ===================      =======   =============
  123.                     Main Screen              03        Cyan on Black
  124.                     Main Screen Hilight      0b        Bright Cyan on Black
  125.                     Menu and Menu Items      4e        Yellow on Red
  126.                     Selected Menu Items      4f        Bright White on Black
  127.                     Disabled Menu Items      43        Cyan on Red
  128.                     Status Line Message      0b        Bright Cyan on Black
  129.                     Error Messages           0e        Yellow on Black
  130.                     Scroll Bars              60        Black on Brown
  131.                     Modeless Dialog Boxes    31        Blue on Cyan
  132.  
  133.                  If this option is absent, values default according to the
  134.                  above table.  If it is present, it must either contain
  135.                  all eighteen bytes or must be the last option in the list.
  136.                  If an attribute is to retain its default value, any
  137.                  character other than a Hex digit may be used as a place
  138.                  holder.
  139.  
  140.       Examples:
  141.  
  142.           1) Force Hex mode and 25 line display:
  143.                LST -hl25 filespec
  144.           2) Tab stops at multiples of 8 columns and change Main screen to
  145.              Yellow on Blue:
  146.                LST -ta1e filespec
  147.           3) Change error to blinking Yellow on Black leaving everything
  148.              else default:
  149.                LST -a............8e filespec
  150.           4) Read the first display from the output of a program called
  151.              ARC2 and subsequently display all files matching *.c in the
  152.              current directory:
  153.                ARC2 v foo.arc | LST -s *.c
  154.           5) Disable the mouse handler and increase the yield time between   |
  155.              keystrokes to 5 milliseconds:                                   |
  156.                LST -m3z5 filespec                                            |
  157.  
  158.       Note: Options need not be the first thing on the command line, they
  159.             may be interspersed with the filespecs and any given option
  160.             may appear more than once, the last appearance of said option
  161.             will define it's value.
  162.  
  163.       Note: See "The LST Environment Variable" below for a discussion on
  164.             how to semipermanently set these options.
  165.  
  166.  
  167. B. The Menus
  168.  
  169.     LST uses a menu interface very similar to that found in OS/2 Presentation
  170.   Manager applications or in Microsoft Windows applications.  There is a menu
  171.   bar across the top of the screen containing the following items:
  172.  
  173.              "File"  "Search"  "Options"  "F1=Help"
  174.  
  175.   each of which may be activated by either clicking on the word with the
  176.   mouse pointer or be typing Alt-F, Alt-S, Alt-O, or F1.  The first three
  177.   activate pulldown menus while "Help" actives a dialog box containing infor-
  178.   mation concerning available keystrokes.
  179.  
  180.     While the menu is active, you may move from item to item using the left
  181.   and right arrow keys or by clicking on another item.  Typing the ESCape
  182.   key removes any pulldown menu but leaves the menu active, typing it again
  183.   deactivates the menu and returns you to file viewing mode.  Clicking the
  184.   mouse anywhere but on a menu will also return you to file viewing mode.
  185.  
  186.     While a pulldown menu is active, you may move the hilight on the pulldown
  187.   using the up and down arrows.  Typing the ENTER key selects or activate the
  188.   hilit item.  Typing the first letter of any item actives that item (if
  189.   there is more than on item with the same first letter, the first such item
  190.   is selected).  Alternately, you may click the mouse pointer on any item to
  191.   select it.  The results of selecting any item on a pulldown menu are
  192.   outlined below:
  193.  
  194.      "File" Menu
  195.        "Open..."     a dialog box appears and prompts you to enter a new
  196.                      file name.  The edit field contains a default value
  197.                      (usually the current file name) which may be edited
  198.                      using the left and right arrow keys, the Home and End
  199.                      keys, and the Delete key or by clicking the mouse
  200.                      pointer within the edit field.  The filename may be
  201.                      any valid OS/2 filespec, wildcards accepted.  Type
  202.                      ENTER to direct LST to read the file or files adding
  203.                      it or them to the Pick List (see discussing of Pick
  204.                      List below) after the current file, or type ESCape or
  205.                      click the mouse pointer anywhere outside of the dialog
  206.                      box to abort the command.
  207.  
  208.        "Info"        a dialog box appears containing the following infor-
  209.                      mation: The name of the current file, the time and date
  210.                      of its creation or last modification, and the file size
  211.                      in bytes.  Type any key or click the mouse pointer
  212.                      anywhere to remove this dialog box.
  213.  
  214.        "Prev File"   reload the previous file in the Pick List (see
  215.                      discussion on the Pick List below).  This item will be
  216.                      disabled if the current file is the first item (or only
  217.                      item) on the Pick List.
  218.  
  219.        "Next File"   reload the next file in the Pick List (see discussion
  220.                      on the Pick List below).  This item will be disabled if
  221.                      the current file is the last item (or only item) on the
  222.                      Pick List.
  223.  
  224.        "Pick List"   displays a dialog box containing the current Pick List
  225.                      (see discussion on the Pick List below).  The current
  226.                      file is hilighted.  The hilight may be moved using the
  227.                      up and down arrow or by clicking the mouse pointer on
  228.                      the dialog boxes scroll bar.  Select a filename from
  229.                      this list by typing the ENTER key while the filename is
  230.                      hilit or by clicking the mouse pointer on the name.
  231.                      The indicated file is the reloaded into LST.  Abort the
  232.                      Pick List command by typing ESCape or by clicking the
  233.                      mouse pointer anywhere outside of the dialog box.
  234.  
  235.        "About Lst"   displays a dialog box the name of the program (LST), its
  236.                      author, and a copyright notice. Type any key or click
  237.                      the mouse pointer anywhere to remove this dialog box.
  238.  
  239.        "Exit"        unconditionally exit LST, restoring the original screen
  240.                      mode and contents.
  241.  
  242.  
  243.      "Search" Menu
  244.        "Exact Match" a dialog box appears and prompts for a search pattern.
  245.                      The default value that appears may be edited using the
  246.                      left and right arrow keys, Home, End, and Delete keys.
  247.                      Type ENTER to begin a search in the current search
  248.                      direction (see Search Fwd/Back below) for a string that
  249.                      exactly matches the pattern.  If found, the line is
  250.                      displayed center screen in the screen hilight color,
  251.                      else a "Pattern not found" error message is displayed.
  252.                      Abort the dialog box by typing ESCape or by clicking the
  253.                      mouse pointer anywhere outside of the dialog box.
  254.  
  255.        "Ignore Case" behaves in the same manner as "Exact Match" above except
  256.                      that the pattern will match any text that differs only
  257.                      by upper or lower case, i.e., "Abc" matches pattern
  258.                      "ABC".
  259.  
  260.        "Grep"        mechanically behaves the same as "Exact Match" and
  261.                      "Ignore Case" above except that the search is based on
  262.                      what is know as a "regular expression."  See the discus-
  263.                      sion on regular expressions below.
  264.  
  265.        "Next"        repeat the last search in a forward direction using the
  266.                      same pattern and search method (Exact, Ignore Case, or
  267.                      Grep).
  268.  
  269.        "Previous"    repeat the last search in a backward direction using the
  270.                      same pattern and search method (Exact, Ignore Case, or
  271.                      Grep).
  272.  
  273.        "Search Back" reverse the default direction for searches.  After
  274.                      selected this option, the menu item becomes "Search Fwd"
  275.                      and will toggle between the two.
  276.  
  277.        "Search Fwd"  see "Search Back" above.
  278.  
  279.  
  280.      "Options" Menu
  281.        "Hex Mode"    causes the current file to be reread and displayed in
  282.                      Hex Mode.  If the current file already is in Hex Mode,
  283.                      this item will be displayed "Text Mode" and selecting
  284.                      it will cause the file to be reread and displayed in
  285.                      Text Mode.
  286.  
  287.        "Text Mode"   see "Hex Mode" above.
  288.  
  289.  
  290. C. Viewing the File
  291.  
  292.   General:
  293.  
  294.     While viewing the file, the following methods are available for navi-
  295.     gating your way around the file:
  296.  
  297.      Keyboard:
  298.        Up Arrow           Move the display up one line in the file
  299.        Down Arrow         Move the display down one line in the file
  300.        PgUp Key           Move the display up one page in the file
  301.        PgDn Key           Move the display down one page in the file
  302.        Home Key           Move the display to the top of the file
  303.        End Key            Move the display to the end of the file
  304.        Right Arrow        Move the display right five columns
  305.        Left Arrow         Move the display left five columns
  306.        Control-Left Arrow Move the display to column one.
  307.  
  308.        Note: there are other keystrokes that duplicate most of these
  309.              functions. See discussion on Accelerators and Aliases below.
  310.  
  311.      Mouse:
  312.        Vertical movement: Clicking the mouse pointer on the up or down
  313.           arrow of the vertical scroll bar moves the display up or down
  314.           by one line respectively.  Click the mouse pointer on the scroll
  315.           bar itself moves the display up by one page if the mouse pointer
  316.           is above the scroll bar "thumb", or down by one page if the mouse
  317.           pointer is below or on the "thumb".
  318.        Horizontal movement: Clicking the mouse pointer on the left arrow
  319.           of the horizontal scroll bar or on the scroll bar itself to the
  320.           left of the "thumb" moves the display five columns to the left.
  321.           Clicking the mouse pointer on the right arrow or on the scroll
  322.           bar to the right of or on the "thumb" moves the display five
  323.           columns to the right.
  324.  
  325.      Note: A "page" is defined to be the number of lines in the current
  326.            file viewing window (three less than the number of screen lines).
  327.  
  328.  
  329.   Text Mode:
  330.  
  331.     This is the default viewing mode for most files.  The file appears on
  332.   screen in much the same manner as it would in a text editor.  If the
  333.   Tab Stop setting (see discussion on command line options above) is
  334.   greater than zero, tabs are expanded so that tab stops fall on columns
  335.   which are multiples of that value (i.e., if tabs are set to 2, the default,
  336.   tab stops are at columns 3, 5, 7, etc.); no other text filtering is done.
  337.  
  338.     Certain files will not look well presented in text mode and may not
  339.   read in correctly.  Binary files will not, in general, be read correctly
  340.   in this mode.  Thus files with any of the following extensions will
  341.   automatically put LST into Hex Mode (see below): ".COM", ".EXE", ".OBJ",
  342.   ".BIN", ".DEV", ".LIB", ".DLL", ".ARC", ".PKA", and cannot be viewed
  343.   in Text Mode (unless of course they are renamed before executing LST).
  344.  
  345.  
  346.   Hex Mode:
  347.  
  348.     This is the preferred viewing mode for binary (non-text) files.  The
  349.   display is altered when in this mode to display the file in standard
  350.   "hex dump" format, that is:
  351.  
  352.   offset bytes                                            ascii
  353.   ====== =====                                            =====
  354.   xxxxxx xx xx xx xx xx xx xx xx-xx xx xx xx xx xx xx xx  *aaaaaaaaaaaaaaaa*
  355.  
  356.   where offset is a six digit hexadecimal number indicating the current
  357.   offset into the file, bytes are a set of 16 hexadecimal numbers which
  358.   represent the next sixteen bytes of the file, and ascii is the ascii
  359.   representation of the printable characters in that sixteen byte section
  360.   of the file with non-printable characters represented as ".".
  361.  
  362.     Note that files with any of the following extensions may be viewed
  363.   only in Hex Mode, ".COM", ".EXE", ".OBJ", ".BIN", ".DEV", ".LIB", ".DLL",
  364.   ".ARC", and ".PKA".
  365.  
  366.  
  367.  
  368. D. Accelerators and Aliases
  369.  
  370.     Certain menu functions may be accessed directly from the keyboard by use
  371.   of certain accelerator keys.  What follows is a table of these accelerators
  372.   and their functions.  Please refer to the "Menus" section for a description
  373.   of the functions.
  374.  
  375.           Keystroke           Function
  376.           =========           ========
  377.           Q                   Exit
  378.           A                   Repeat Last Search (same direction)
  379.           \                   Ignore Case Search
  380.           /                   Exact Match Search
  381.           ?                   Help
  382.           ^N                  Search Next
  383.           ^B                  Search Previous
  384.           ^PgUp               Previous File
  385.           ^PgDn               Next File
  386.           Alt-H               Toggle Hex/Text Mode
  387.           F1                  Help
  388.           F3                  Search Next
  389.           F9                  Search Previous
  390.           F10                 Exit
  391.           Alt-I               File Info
  392.           Alt-R               File Open
  393.           Alt-X               Exit
  394.  
  395.     Certain keystrokes are aliases (perform the exact same function) as other
  396.   keystrokes.  Note above that "Q", "Alt-X", and "F10" are aliases.  What
  397.   follows is a list of aliases.
  398.  
  399.           Keystroke           Alias(es)
  400.           =========           =========
  401.           Up Arrow            ^E
  402.           Down Arrow          ^X
  403.           Left Arrow          ^S
  404.           Right Arrow         ^D
  405.           Control Left Arrow  ^A
  406.           PgUp                ^R
  407.           PgDn                ^C
  408.           Home                ^Q
  409.           End                 ^Z
  410.           F1                  ?
  411.           F3                  ^N
  412.           F9                  ^B
  413.           F10                 Q, Alt-X
  414.  
  415.  
  416.  
  417. E. The Pick List
  418.  
  419.     The Pick List is simply a list of files for LST to display.  When LST
  420.   is executed, each file that matches the filespec of specs on the command
  421.   has its name added to the Pick List and the first file in the list is
  422.   loaded and displayed.  Each time Next File is chosen from the menu, or
  423.   ^PgDn is typed the next file in the list is loaded and displayed,
  424.   similarly, Prev File or ^PgUp loads and displays the previous file in the
  425.   list.  Choosing the "Pick List" menu items displays a dialog box that
  426.   allows you to choose the next file to display.
  427.  
  428.     When "File Open" is selected and a new file or files specified, the new
  429.   file names are added to the Pick List immediately after the current file.
  430.   It is possible to have the same file name in the list multiple times.
  431.  
  432.  
  433. F. The LST Environment Variable
  434.  
  435.     If you do not like the default color scheme of LST the "-a" option on the
  436.   command line provides a method for you to alter those colors.  The syntax
  437.   of the option is, however, neither easy to remember nor easy to type. If
  438.   you wish to set any of LST's command line parameters on a semipermanent
  439.   basis you may do so by setting an environment variable called "LST".  When
  440.   LST starts up it looks first for this variable in the environment and
  441.   processes its contents as it would command line options.  It then continues
  442.   to process the command line so that options set in the environment may be
  443.   overridden by the command line.
  444.  
  445.     For instance, if you want to force LST to always display 25 lines and
  446.   want the main screen to be black on white, you could execute the
  447.   following line from the OS/2 command prompt or from OS2INIT.CMD:
  448.  
  449.      set LST=-l25a70
  450.  
  451.  
  452. G. Regular Expressions
  453.  
  454.     It is beyond the scope of this document to provide a thorough treatment
  455.   of regular expressions however we will attempt to give an introduction to
  456.   the topic here and to describe how this implementation should work.
  457.  
  458.     You may think of an OS/2 ambiguous filename as a regular expression in
  459.   which the special character "?" matches any character in a filename and the
  460.   special character "*" matches any string of characters.  An OS/2 ambiguous
  461.   filename is indeed a very restricted version of a regular expression.
  462.  
  463.     In the LST implementation of regular expressions, there are special
  464.   characters that will match certain other characters:
  465.  
  466.      "?"       matches any one character except the newline character
  467.      "^"       matches beginning of line
  468.      "$"       matches end of line
  469.      "\"       quotes a character, removes any special meaning.
  470.                (or specifies as ascii character value: \9 == tab)
  471.  
  472.     Thus, using just these four, "^?$" would match any line that is exactly
  473.   one character long, "^a?c" would match "abc" if and only if it were the
  474.   first thing on a line, and "abc\$" matches only the string "abc$".  The
  475.   search in LST is line based so the "^" and "$" characters only make sense
  476.   at the beginning and end of a pattern respectively.
  477.  
  478.     Other special "wildcards" are:
  479.  
  480.      ":a"      matches any alphabetic character
  481.      ":d"      matches any digit
  482.      ":n"      matches any alphanumeric character
  483.      ": "      matches whitespace, the space character or the tab character
  484.  
  485.     And still more can be made up "on the fly" using classes.  A class is a
  486.   group of characters inclosed in square brackets "[]" and will match any
  487.   single character which is listed in the class. "[abc]" will match "a", or
  488.   "b", or "c" and [abcABC] matches "a", "A", "b", "B", "c", or "C".  When the
  489.   "^" character appears as the first character in a character class, it is
  490.   taken to indicate negation, i.e., "[^abc]" would match any character EXCEPT
  491.   lower case "a", "b", or "c".
  492.  
  493.     Furthermore, groups of characters may be specified using the "-" char-
  494.   acter within a class designation: "[0-9]" matches any digit, "[^q-t]"
  495.   matches any character except lowercase "q", "r", "s", or "t".
  496.  
  497.     Finally, we have the notion of closure.  Any character followed by the
  498.   "+" character matches one or more occurrence of that character: "fo+" will
  499.   match "fo", "foo", "fooo", et cetera. Any character followed by the "@"
  500.   character matches zero or more occurrences of that character, thus "fo@"
  501.   matches everything that "fo+" did plus the string "f".  The character "*"
  502.   is shorthand for "?+".
  503.  
  504.   Examples:
  505.  
  506.      "[Gg]o@d"   matches "Gd", "gd", "God", "good", "Goooooooood", etc.
  507.      "[Gg]o+d"   matches "God", "good", etc.
  508.      ":d,:d:d:d" matches "1,000", "7,658", "9,999", etc.
  509.      "^void"     matches "void" if it appears as the first thing on the line.
  510.      "\*/: @$"   matches any line that ends with "*/" except for possible
  511.                          trailing white space.
  512.  
  513.   Exercise:
  514.      What does "^[^ #\9]?@(?@): @$" match?
  515.  
  516.   
  517.  
  518. IV. Limitations
  519.  
  520.     In Text Mode, the maximum number of lines in the file is limited to
  521.   65532 lines.  The maximum line length is 1024 bytes and longer lines will
  522.   be wrapped increasing the total number of lines in the file (in memory
  523.   that is, the file itself is not altered).  LST relies on OS/2's virtual
  524.   memory management for loading the file itself into memory and it is
  525.   conceivable that with low system memory and/or insufficient space on the
  526.   swapping device, that a large file may be only partially read in even
  527.   though it may have fewer than 65532 lines.
  528.  
  529.     In Hex Mode, each 16 byte "chunk" of the file becomes one line and is
  530.   subject to the 65532 line limit thus the absolute maximum size of a file
  531.   that may be completely read in Hex mode is 65532 times 16 bytes, or
  532.   1,048,512 bytes.
  533.  
  534.  
  535.  
  536. V. Disclaimer
  537.  
  538.     Every care has been taken so that LST will perform as outlined in this
  539.   document and that it is as error free as the author can make it.  We
  540.   should be aware however that no piece of software is ever totally bug
  541.   free.
  542.  
  543.     Use of this software for any purpose whatsoever constitutes your
  544.   unqualified acceptance of the following statements.
  545.  
  546.     The author makes no warranty or representation that the software will
  547.   be error free.  The author disclaims any warranties, either express or
  548.   implied, including but not limited to any implied warranty of
  549.   merchantability or fitness for any particular purpose.
  550.  
  551.     The user agrees to take full responsibility for the selection of and
  552.   any use whatsoever made of the software.
  553.  
  554.  
  555.       IN NO EVENT WILL THE AUTHOR BE LIABLE FOR ANY DAMAGES WHATSOEVER
  556.     (INCLUDING WITHOUT LIMITATION DAMAGES FOR LOSS OF BUSINESS PROFITS,
  557.     BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION OR THE LIKE)
  558.     ARISING OUT OF THE USE OF, INTERRUPTION IN THE USE OF, OR INABILITY
  559.     TO USE THIS SOFTWARE, EVEN IF THE AUTHOR HAS BEEN ADVISED OF ANY
  560.     POSSIBILITY OR LIKELIHOOD OF SUCH DAMAGES.
  561.  
  562.  
  563.       ________________________________________________________________
  564.  
  565.  
  566.     "IBM", "IBM PC/AT", "PS/2", "IBM OS/2" are all registered trademarks
  567.   of and copyright by International Business Machines.
  568.     "Microsoft", "Microsoft Windows", "MS OS/2" are all registered
  569.   trademarks of and copyright by the Microsoft Corporation.
  570.  
  571.       ________________________________________________________________
  572.  
  573.  
  574.                          Brady Flowers
  575.                          518 Blue Earth Street
  576.                          Mankato  MN 56001
  577.                          Voice phone: 507/388-2848
  578.                          Epitaph BBS: 507/243-3318
  579.                          GEnie Mail address: B.FLOWERS
  580.  
  581.