133 lines
6.6 KiB
Plaintext
133 lines
6.6 KiB
Plaintext
|
Renegade BBS Enhancements/Bug Fix's:
|
||
|
|
||
|
1. Before the posting of a message or uploading of a file
|
||
|
(Batch/Single), the available drive space was checked to
|
||
|
ensure adequate space exists according to the system setup.
|
||
|
This section of the code was duplicated in 3 places. I converted
|
||
|
this section to a function reducing numerous lines of code and
|
||
|
extra variabes whenever it was utilized in the code.
|
||
|
|
||
|
2. The copy/move procedures are now combined into one function.
|
||
|
Variables for failure, no space and success were required
|
||
|
external to the procedures everytime they were called. Various
|
||
|
messages to the user/sysop.log were also reported external
|
||
|
to these procedures. I also noticed that the move procedure
|
||
|
called the copy procedure if renaming a file was not successfull.
|
||
|
Now, no variables are required externally for the function and
|
||
|
messages to the user/sysop.log are handled internally within
|
||
|
the copy/move function.
|
||
|
|
||
|
3. I noticed that a section of the code for executing file
|
||
|
transfer's was duplicated in 4 places. This has been moved to
|
||
|
a single procedure reducing numerous lines of code and
|
||
|
variables.
|
||
|
|
||
|
4. I noticed that a section of the code for checking the return
|
||
|
code on file transfer's was duplicated in 3 places. This has
|
||
|
been moved to a single procedure reducing numerous lines of code
|
||
|
and variables.
|
||
|
|
||
|
5. The FILES.BBS selected for download during a batch transfer by
|
||
|
the user now contains this starting entry:
|
||
|
|
||
|
"(BBS Name) Batch Download File Listing"
|
||
|
|
||
|
Previously, unlisted files were not written to the above list.
|
||
|
Now, they are with "[No Description Available]" as the description.
|
||
|
Also, files in the batch download queue with a bad path download
|
||
|
path will have "[Bad Download Path]" as the description. These
|
||
|
additions help account for files selected for Batch DL by the
|
||
|
user.
|
||
|
|
||
|
6. The max dos character field in the protocol editor has now been
|
||
|
limited to 127 characters (Was 255). I always thought it was 128,
|
||
|
however I couldn't type in any more then 127 characters on the
|
||
|
command line in DOS. Please feel free to check this out for
|
||
|
yoursele and change you editor accordingly.
|
||
|
|
||
|
7. Removed spaces from the file name written to the protocol file
|
||
|
list for batch downloads.
|
||
|
|
||
|
8. The procedure that reads the success/failure codes and file name
|
||
|
from the protocol temp log has been modified. The starting
|
||
|
position of the code and file name is specified in the protocol
|
||
|
editor. Assumming you set this up correctly, the success/failure
|
||
|
code and the filename are copied to temporary strings. The success
|
||
|
code is compared against the returncode from dos for single
|
||
|
download/upload protocols or the DLCode specified in the protocol
|
||
|
editor for batch downloads and the temp log. This code is not
|
||
|
utilized for batch uploads, the file is simply checked for existance.
|
||
|
The temporary file name is compared against the batch queue for
|
||
|
existance. Since different protocol programs like dsz, etc utilize
|
||
|
different log formats, it's impossible to tell the actual length of
|
||
|
the success code or filename read from the temp log. RG would simply
|
||
|
read each string from the starting position and then chop off any
|
||
|
trailing spaces and compared them as per above. However, with ZM
|
||
|
protocol, the file name ends with ",". Therefore, I changed the
|
||
|
comparison to look for the success code/filename to a String POS
|
||
|
procedure rather then String = String. In local tests (Both Single
|
||
|
and Batch) it seemed to work without issue, we will see? The way it
|
||
|
was handled before did not work with ZM protocol. Hopefully, this
|
||
|
solves it for all others (assuming you set things up correctly in the
|
||
|
protocol editor.
|
||
|
|
||
|
Here's a few things I learned about protocols while editing the
|
||
|
RG code:
|
||
|
|
||
|
1. If you set the option "Codes mean" in the protocol editor
|
||
|
to "Transfer Successfull", you must specify a return dlcode
|
||
|
and or ulcode for single protocols of zero. Zero is hard
|
||
|
coded into the procedure that executes the protocol. A
|
||
|
return code of zero from DOS indicates a successfull result.
|
||
|
Of course, you could also reverse the above and specify
|
||
|
"Codes mean" as "Transfer Failed" and specify all possible
|
||
|
DLCodes/ULCodes as something other then zero.
|
||
|
|
||
|
2. If you do not specify a temp log for batch downloads, no
|
||
|
error checking occurs within RG. RG assumes the files were
|
||
|
downloaded and increments statistics, etc. RG does not create
|
||
|
the temp log, you must add it to the DL/UL command line. You
|
||
|
must also specify the proper file name and status starting
|
||
|
positions within the log for RG to locate them. Please
|
||
|
read the protocol document for a description of the log
|
||
|
entries and then count out the status & filename positions
|
||
|
for the protocol editor.
|
||
|
|
||
|
Here's what you need for the ZM protocol:
|
||
|
|
||
|
1. Specify a Temp Log.
|
||
|
2. Add -lz%L to the DL/UL Command Line to create a ZM
|
||
|
style log.
|
||
|
3. Set "Codes mean" to "Transfer Successfull".
|
||
|
4. Set DL/UL Code 1 as Z, Set DL/UL Code 2 as z.
|
||
|
5. Set "File name" to 22.
|
||
|
6. Set "Status" to 1.
|
||
|
|
||
|
OR
|
||
|
|
||
|
1. Specify a Temp Log.
|
||
|
2. Add -ld%L to the DL/UL Command Line to create a DSZ
|
||
|
style log.
|
||
|
3. Set "Codes mean" to "Transfer Successfull".
|
||
|
4. Set DL/UL Code 1 as Z, Set DL/UL Code 2 as z.
|
||
|
5. Set "File name" to 51.
|
||
|
6. Set "Status" to 1.
|
||
|
|
||
|
3. The temp log is deleted by RG automatically, if you need
|
||
|
or want a permanent log please specify a UL or DL Log.
|
||
|
|
||
|
NOTE: I realize some of you may know all there is to know
|
||
|
about protocols and how they are handled by RG. However,
|
||
|
some do not. Remember, if you do not specify all the above,
|
||
|
your files will be transferred without error checking and
|
||
|
statistics will not be updated. Of course, you could forgo
|
||
|
the above setup and RG will assume all files tranferred
|
||
|
successfully.
|
||
|
|
||
|
4. Using the above setup may or may not work with currently
|
||
|
released versions of RG or all external protocol programs.
|
||
|
|
||
|
Please feel free to drop me an email if you require any further
|
||
|
explanation of the above!
|
||
|
|
||
|
Enjoy!!!
|