home *** CD-ROM | disk | FTP | other *** search
-
-
- XLAXDIFF Page 1
-
-
- XLAXDIFF
- Express Nodelist Update
- Copyright 1987, 1988
- By Scott Samet
- Friends of Dorothy 1:135/990
-
-
-
- This is a program to apply the weekly update NodeDiff files to the
- matrix NodeList. It's designed to be fast and easy to use. On my 8
- Mhz XT clone, it unarchives and applies a typical update in 45
- seconds.
-
- NOTICE
-
- This version expects an IBM PC Compatible BIOS or some reasonable
- facsimile. It also expects to find a copy of ARCE somewhere in the
- DOS Path. Command line switches allow use of other unarc programs and
- on non-PC-Compatibles.
-
- License / Warranty
-
- The program and associated documentation are Copyright. It may only
- be distributed as part of the XlaxNode archive. The full license and
- warranty terms for XlaxNode and XlaxDiff are contained in the
- XlaxNode.Doc file.
-
-
- What does it do?
-
- XlaxDiff takes the most recent NodeList and applies any higher
- numbered NodeDiff files, producing a new NodeList. If it encounters
- any NodeList or NodeDiff archive files along the way, it extracts the
- files it needs.
-
-
-
- OPERATION
-
- If you have ARCE (the "official-un-official" Opus unarchive program)
- in your DOS path, and you have NodeList and NodeDiff in your currect
- path, just type XLAXDIFF and let it rip.
-
- If you are into all the bells and whistles, XLAXDIFF accepts arguments
- on the command line:
-
- /G
- By default, this version uses IBM PC BIOS calls for the
- video display. The /G switch on the command line will force
- the use of ANSI escape sequences. Machines without PC BIOS
- support, such as the Z-100 or DEC Rainbow MUST use the /G
- switch.
-
- /O=[path\][filename]
- Path and/or file name (no type) to use for the old NodeList.
- The default is NodeList in the current directory.
-
-
- XLAXDIFF Page 1
-
-
- XLAXDIFF Page 2
-
-
- /E=[path\][filename]
- Path and/or file name (no type) to use for the updates to
- the the NodeList. The default is NodeDiff in the current
- directory.
-
- /N=[path\][filename]
- Path and/or file name (no type) to use for the new (output)
- NodeList. The default is the path and name of the old
- NodeList. The day number of the highest update file will be
- used as the file type.
-
- /A[=[path\][filename]]
- Indicates an archive containing the new (output) Nodelist is
- to be created. A path and/or file name (no type) may be
- specified. If omitted, the path and file name of the new
- nodelist will be used. The first character of the type will
- be replaced by the letter 'A'. Using an archive program
- name on the /X switch does NOT force an archive to be
- created.
-
- /X=[[path\]progname][,[[path\]progname]]
- Name of the archive programs to be used. The first is the
- program to use for unarchiving files, the second for
- archiving files. If omitted, ARCE and ARCA will be assumed.
- Path and file names are significant, file type will be
- ignored. If the path is omitted, the DOS Path will be
- searched.
-
- /L
- Leave: Any files extracted from archives are to be left in
- the current directory when the program is done. Normal
- action is to delete these work files.
-
- /C
- Cleanup: The input Nodelist and Nodediff files are deleted
- if the program completes and the output file passes the CRC
- check. The only file left will be the new Nodelist (and
- archive, if requested).
-
-
-
- ERROR CODES
-
- XlaxDiff returns an error code to DOS. This code can be tested by the
- IF ERRORLEVEL test in a batch file.
-
- LEVEL DESCRIPTION
-
- 0 Updates applied without error.
-
- 1 No work to do: No NodeDiff file present or NodeList
- later than all NodeDiffs.
-
- 2 NodeList/NodeDiff file sequence broken by missing
- file.
-
-
-
- XLAXDIFF Page 2
-
-
- XLAXDIFF Page 3
-
-
- 3 Error renaming output file.
-
- 4 Checksum error in output NodeList. Usual cause is
- corrupted Nodelist input file.
-
- 5 Other errors, including:
- o Command line syntax error.
- o NodeDiff file format error.
- o Archive or Unarchive program error message.
-
-
- BUGS, PROBLEMS, COMPLAINTS, SUGGESTIONS and COMPLIMENTS
-
- Hopefully there will not be a lot of the first three. Be sure to tell
- me the what version of the program you are running and the NodeList
- and NodeDiff numbers causing the problem. If you think that the error
- message might be helpful, XlaxDiff output can be piped, so just say:
- XlaxDiff > Bug.Rpt
-
- ARCHIVE! the stuff up, make YOUR node number part of the file name,
- and send it down the net.
-
- Bug reports with unidentified archives, or missing program version
- number or other supporting information will be sent to NUL.
-
-
- NodeList/NodeDiff Selection Logic
-
- Here's the actual logic: The program determines the latest files by
- using the day number that is part of the file names. For the year end
- logic to work correctly, the range of day numbers should not exceed a
- six month period.
-
- First, it determines the latest NodeList and NodeDiff files. If the
- NodeList is later than or equal to the NodeDiff, the NodeList is
- unarced, if necessary. If the /A switch is specified, the NodeList is
- (re)archived. Otherwise, if the /C switch is specified, the input
- NodeList archive is deleted.
-
- If a later NodeDiff exists, it is opened and the first line read.
- That line contains the number of the NodeList to which the updates
- apply. If no NodeList with that number exists, then a check is made
- for a NodeDiff. If a NodeDiff is found, that NodeDiff is opened and
- the process is repeated until a NodeList is located. If the program
- cannot find an unbroken chain of NodeDiff files leading back to a
- NodeList file, then it aborts.
-
- Example 1:
- You have NodeList.245, NodeList.252, NodeDiff.245 and
- NodeDiff.252 in the current directory. There's no NodeDiff
- higher than the higest NodeList, so the program exits.
-
-
-
-
-
-
-
- XLAXDIFF Page 3
-
-
- XLAXDIFF Page 4
-
-
- Example 2:
- You have NodeList.238, NodeDiff.238, NodeDiff.245 and
- NodeDiff.252 in the current directory. NodeDiff.252 refers to
- list #245, NodeDiff.245 refers to list #238 and NodeDiff.238
- refers to list #231. In this case, the program follows the chain
- from NodeDiff.252 to NodeDiff.245 to NodeList.238 and will apply
- the two NodeDiff files and create NodeList.252 in the current
- directory. NodeDiff.238 is not needed.
-
- Example 3:
- The same as Example 2, except the NodeList file is #224. The
- program follows the chain from NodeDiff.252 to NodeDiff.245 to
- NodeDiff.238. There is no NodeList.231 or NodeDiff.231, so the
- program is unable to apply the updates.
-
- Example 4:
- You have NodeList.360 and NodeDiff.002 in the current directory.
- Since the time span from 360 to 002 (seven days) is less than the
- time span from 002 to 360 (358 days), NodeDiff.002 will be
- considered the latest file. If NodeDiff.002 refers to
- NodeList.360, the update will be applied; otherwise the program
- will issue an error message.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- XLAXDIFF Page 4
-