home *** CD-ROM | disk | FTP | other *** search
/ Beijing Paradise BBS Backup / PARADISE.ISO / software / BBSDOORW / T.ZIP / XLAXDIFF.DOC < prev    next >
Encoding:
Text File  |  1989-02-18  |  8.9 KB  |  257 lines

  1.  
  2.  
  3.  
  4.      XLAXDIFF                                                        Page 1
  5.  
  6.  
  7.                                     XLAXDIFF
  8.                             Express Nodelist Update
  9.                               Copyright 1987, 1988
  10.                                  By Scott Samet
  11.                           Friends of Dorothy 1:135/990
  12.  
  13.  
  14.  
  15.      This is a program to apply the weekly update NodeDiff files to the
  16.      matrix NodeList.  It's designed to be fast and easy to use.  On my 8
  17.      Mhz XT clone, it unarchives and applies a typical update in 45
  18.      seconds.
  19.  
  20.                                      NOTICE
  21.  
  22.      This version expects an IBM PC Compatible BIOS or some reasonable
  23.      facsimile.  It also expects to find a copy of ARCE somewhere in the
  24.      DOS Path.  Command line switches allow use of other unarc programs and
  25.      on non-PC-Compatibles.
  26.  
  27.                                License / Warranty
  28.  
  29.      The program and associated documentation are Copyright.  It may only
  30.      be distributed as part of the XlaxNode archive.  The full license and
  31.      warranty terms for XlaxNode and XlaxDiff are contained in the
  32.      XlaxNode.Doc file.
  33.  
  34.  
  35.                                 What does it do?
  36.  
  37.      XlaxDiff takes the most recent NodeList and applies any higher
  38.      numbered NodeDiff files, producing a new NodeList.  If it encounters
  39.      any NodeList or NodeDiff archive files along the way, it extracts the
  40.      files it needs.
  41.  
  42.  
  43.  
  44.                                    OPERATION
  45.  
  46.      If you have ARCE (the "official-un-official" Opus unarchive program)
  47.      in your DOS path, and you have NodeList and NodeDiff in your currect
  48.      path, just type XLAXDIFF and let it rip.
  49.  
  50.      If you are into all the bells and whistles, XLAXDIFF accepts arguments
  51.      on the command line:
  52.  
  53.           /G
  54.                By default, this version uses IBM PC BIOS calls for the
  55.                video display.  The /G switch on the command line will force
  56.                the use of ANSI escape sequences.  Machines without PC BIOS
  57.                support, such as the Z-100 or DEC Rainbow MUST use the /G
  58.                switch.
  59.  
  60.           /O=[path\][filename]
  61.                Path and/or file name (no type) to use for the old NodeList.
  62.                The default is NodeList in the current directory.
  63.  
  64.  
  65.      XLAXDIFF                                                        Page 1
  66.  
  67.  
  68.      XLAXDIFF                                                        Page 2
  69.  
  70.  
  71.           /E=[path\][filename]
  72.                Path and/or file name (no type) to use for the updates to
  73.                the the NodeList.  The default is NodeDiff in the current
  74.                directory.
  75.  
  76.           /N=[path\][filename]
  77.                Path and/or file name (no type) to use for the new (output)
  78.                NodeList.  The default is the path and name of the old
  79.                NodeList.  The day number of the highest update file will be
  80.                used as the file type.
  81.  
  82.           /A[=[path\][filename]]
  83.                Indicates an archive containing the new (output) Nodelist is
  84.                to be created.  A path and/or file name (no type) may be
  85.                specified.  If omitted, the path and file name of the new
  86.                nodelist will be used.  The first character of the type will
  87.                be replaced by the letter 'A'.  Using an archive program
  88.                name on the /X switch does NOT force an archive to be
  89.                created.
  90.  
  91.           /X=[[path\]progname][,[[path\]progname]]
  92.                Name of the archive programs to be used.  The first is the
  93.                program to use for unarchiving files, the second for
  94.                archiving files.  If omitted, ARCE and ARCA will be assumed.
  95.                Path and file names are significant, file type will be
  96.                ignored.  If the path is omitted, the DOS Path will be
  97.                searched.
  98.  
  99.           /L
  100.                Leave: Any files extracted from archives are to be left in
  101.                the current directory when the program is done.  Normal
  102.                action is to delete these work files.
  103.  
  104.           /C
  105.                Cleanup: The input Nodelist and Nodediff files are deleted
  106.                if the program completes and the output file passes the CRC
  107.                check.  The only file left will be the new Nodelist (and
  108.                archive, if requested).
  109.  
  110.  
  111.  
  112.                                   ERROR CODES
  113.  
  114.      XlaxDiff returns an error code to DOS.  This code can be tested by the
  115.      IF ERRORLEVEL test in a batch file.
  116.  
  117.                LEVEL    DESCRIPTION
  118.  
  119.                  0      Updates applied without error.
  120.  
  121.                  1      No work to do: No NodeDiff file present or NodeList
  122.                         later than all NodeDiffs.
  123.  
  124.                  2      NodeList/NodeDiff file sequence broken by missing
  125.                         file.
  126.  
  127.  
  128.  
  129.      XLAXDIFF                                                        Page 2
  130.  
  131.  
  132.      XLAXDIFF                                                        Page 3
  133.  
  134.  
  135.                  3      Error renaming output file.
  136.  
  137.                  4      Checksum error in output NodeList.  Usual cause is
  138.                         corrupted Nodelist input file.
  139.  
  140.                  5      Other errors, including:
  141.                         o   Command line syntax error.
  142.                         o   NodeDiff file format error.
  143.                         o   Archive or Unarchive program error message.
  144.  
  145.  
  146.             BUGS, PROBLEMS, COMPLAINTS, SUGGESTIONS and COMPLIMENTS
  147.  
  148.      Hopefully there will not be a lot of the first three.  Be sure to tell
  149.      me the what version of the program you are running and the NodeList
  150.      and NodeDiff numbers causing the problem.  If you think that the error
  151.      message might be helpful, XlaxDiff output can be piped, so just say:
  152.           XlaxDiff > Bug.Rpt
  153.  
  154.      ARCHIVE! the stuff up, make YOUR node number part of the file name,
  155.      and send it down the net.
  156.  
  157.      Bug reports with unidentified archives, or missing program version
  158.      number or other supporting information will be sent to NUL.
  159.  
  160.  
  161.                        NodeList/NodeDiff Selection Logic
  162.  
  163.      Here's the actual logic:  The program determines the latest files by
  164.      using the day number that is part of the file names.  For the year end
  165.      logic to work correctly, the range of day numbers should not exceed a
  166.      six month period.
  167.  
  168.      First, it determines the latest NodeList and NodeDiff files.  If the
  169.      NodeList is later than or equal to the NodeDiff, the NodeList is
  170.      unarced, if necessary.  If the /A switch is specified, the NodeList is
  171.      (re)archived.  Otherwise, if the /C switch is specified, the input
  172.      NodeList archive is deleted.
  173.  
  174.      If a later NodeDiff exists, it is opened and the first line read.
  175.      That line contains the number of the NodeList to which the updates
  176.      apply.  If no NodeList with that number exists, then a check is made
  177.      for a NodeDiff.  If a NodeDiff is found, that NodeDiff is opened and
  178.      the process is repeated until a NodeList is located.  If the program
  179.      cannot find an unbroken chain of NodeDiff files leading back to a
  180.      NodeList file, then it aborts.
  181.  
  182.      Example 1:
  183.           You have NodeList.245, NodeList.252, NodeDiff.245 and
  184.           NodeDiff.252 in the current directory.  There's no NodeDiff
  185.           higher than the higest NodeList, so the program exits.
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.      XLAXDIFF                                                        Page 3
  194.  
  195.  
  196.      XLAXDIFF                                                        Page 4
  197.  
  198.  
  199.      Example 2:
  200.           You have NodeList.238, NodeDiff.238, NodeDiff.245 and
  201.           NodeDiff.252 in the current directory.  NodeDiff.252 refers to
  202.           list #245, NodeDiff.245 refers to list #238 and NodeDiff.238
  203.           refers to list #231.  In this case, the program follows the chain
  204.           from NodeDiff.252 to NodeDiff.245 to NodeList.238 and will apply
  205.           the two NodeDiff files and create NodeList.252 in the current
  206.           directory.  NodeDiff.238 is not needed.
  207.  
  208.      Example 3:
  209.           The same as Example 2, except the NodeList file is #224.  The
  210.           program follows the chain from NodeDiff.252 to NodeDiff.245 to
  211.           NodeDiff.238.  There is no NodeList.231 or NodeDiff.231, so the
  212.           program is unable to apply the updates.
  213.  
  214.      Example 4:
  215.           You have NodeList.360 and NodeDiff.002 in the current directory.
  216.           Since the time span from 360 to 002 (seven days) is less than the
  217.           time span from 002 to 360 (358 days), NodeDiff.002 will be
  218.           considered the latest file.  If NodeDiff.002 refers to
  219.           NodeList.360, the update will be applied; otherwise the program
  220.           will issue an error message.
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.      XLAXDIFF                                                        Page 4
  258.  
  259.