home *** CD-ROM | disk | FTP | other *** search
-
- 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.
-
- XlaxDiff is part of XlaxNode. It's not a free program, and it's never
- supposed to be distributed without all of the files. If you didn't
- get all of these files, you have an illegal copy:
-
- NODELIST.DBF, PCP.DAT, PCP.DOC, PCP.EXE, PCP.INP, PCP.S12,
- PCP.S24, READ.ME., XLAXDIFF.DOC, XLAXDIFF.EXE, XLAXNODE.CTL,
- XLAXNODE.DOC, XLAXNODE.EXE, XLAXNODE.OVR
-
-
- 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.
-
-
- XLAXDIFF Page 1
-
-
- XLAXDIFF Page 2
-
-
- /O=[path\][filename]
- Path and/or file name (no type) to use for the old NodeList.
- The default is NodeList in the current directory.
-
- /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.
-
-
- XLAXDIFF Page 2
-
-
- XLAXDIFF Page 3
-
-
- 2 NodeList/NodeDiff file sequence broken by missing
- file.
-
- 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
-
- Before you send a bug report PLEASE read the list of common problems
- below. 95% of the reports I receive are traced to one of the items on
- the list.
-
- Archive (ARC, ZIP, LHA, ARJ) 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.
-
-
- Common Problems
-
- Nogate's PAK utility causes "Disk Read Errors". As part of its effort
- to locate the latest files, XlaxDiff looks inside everything it
- suspects might be an archived NodeList or NodeDiff. PAK creates
- files that are close enough to ARCs that they confuse XlaxDiff. If
- you have files compressed with PAK, you must extract their contents
- yourself, PLUS make sure the compressed files are located in a
- directory where XlaxDiff will not find them.
-
- ZIPs, LZHs, ARJs. Fidonet standards specify that nodelist files are
- compressed by ARC. No slight against any of these programs, but
- XlaxDiff does not support them. If your nodelist supplier is
- compressing files with a non-standard utility, you will have to unpack
- them yourself.
-
- Missing Diffs. I'm frequently asked "I missed NodeDiff number xyz.
- How do I merge the next one?" You don't. This has nothing to do with
- XlaxDiff. The NodeList/NodeDiff scheme only works if you have all the
- parts. If you miss a NodeDiff, you have no choice but to get a
- complete copy of the current NodeList.
-
-
-
-
- XLAXDIFF Page 3
-
-
- XLAXDIFF Page 4
-
-
- CRC errors. Please folks, I can't emphasize this enough. Not one CRC
- error has ever been traced to a problem with XlaxDiff. Every single
- one has been traced to a problem with the NodeList or NodeDiff files.
- Every blasted one. Some problems are technical: phone lines, batch
- files, archivers, mailers and the like.
-
- By far, the most common source of CRC errors is the computer keyboard.
- NODELIST and NODEDIFF FILES MUST NEVER BE EDITED.
- NODELIST and NODEDIFF FILES MUST NEVER BE EDITED.
- That's right, I said it twice, but some people will miss it. The
- NodeList/NodeDiff scheme just doesn't have any provision for making
- manual changes to the files. There are cases where NC's and even RC's
- (almost always new ones!) have corrected phone numbers or flags before
- passing them down the line. As a result, an entire net or region had
- CRC problems. Before you panic, check with others in your net to see
- if they had CRC problems, too.
-
- There's no practical treatment for the CRC-Blues. You need to get a
- good clean copy of the NodeList and start from there.
-
-
- 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.
-
- 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.
-
-
-
- XLAXDIFF Page 4
-
-
- XLAXDIFF Page 5
-
-
- 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 5
-