home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
BBS
/
DLMST251.ZIP
/
DLMST251.DOC
< prev
next >
Wrap
Text File
|
1992-10-10
|
21KB
|
509 lines
┌────────────────────────────────────────────────────────────┐
│ │
│ DLMASTER v2.51 - The RBBS Download File Listing Utility │
│ │
│ (c) 1990-92 by Bob Hampton │
│ │
│ S3-Technologies BBS (703)451-9509 300-9600bps 24-hr │
└────────────────────────────────────────────────────────────┘
RBBS-PC copyright 1990 by D. Thomas Mack
SuperFMSL copyright 1989 by Ethan Poole
PKZIP copyright 1990 by PKWare
INTRODUCTION:
DLMASTER was created to make a professional-looking list of all
files available for download on an RBBS-PC bulletin board. It was
inspired by Ethan Poole's fine SuperFMSL program, but is being
distributed free of charge, in the spirit of the RBBS-PC tradition.
I have included the C source code for those who wish to examine and
possibly modify the program to suit their own purposes. I ask only
that the program not be distributed with modifications I have not
approved and incorporated, since there would be no way for me to offer
support for such a modified program.
DLMASTER is written to make use of both disk and memory in order to
sort out and create the listing in the most expedient manner. I think
you will find that DLMASTER runs almost twice as fast as other such
programs with it's sorting capabilities, and I am working on ways to
increase that speed even more.
DLMASTER 2.51 Page 2
FILES INCLUDED:
Enclosed in this distribution should be the following files :
DLMASTER.C - Source code for DLMASTER
DLMASTER.EXE - The executable file
DLMST250.DOC - What you're reading
FMSCHK.C - Source code for FMSCHK
FMSCHK.EXE - The executable file
FMSCHK.TXT - Info on the FMSCHK program
DOSWDW.ASM - Assembly source code for DOSWDW
DOSWDW.DOC - Documentation on DOSWDW
DOSWDW.OBJ - Object file for linking
DOSWDW.H - Include file for DOSWDW
DLMASTER is now distributed in ZIP format using PKWare's Authenticity
Verification. When unzipping the file, you should see the following:
Searching ZIP: DLMST250.ZIP
Exploding: DLMASTER.C -AV
Exploding: DLMASTER.EXE -AV
Exploding: DLMST250.DOC -AV
Exploding: FMSCHK.C -AV
Exploding: FMSCHK.EXE -AV
Exploding: FMSCHK.TXT -AV
Authentic files Verified! # MIQ538 S3-Tech
If you do not see the verification number, then you have not received an
authentic copy of the program.
DLMASTER 2.51 Page 3
FEATURES:
- Supports FMS files of virtually unlimited size.
- Supports multiple category codes per category.
- Includes FMSCHK utility to check your FMS directory structure for
proper format.
- Sorts files by name or date, in ascending or descending order.
- Supports chained FMS directories.
- Supports \FMS TOP header parameter.
- Supports FMS comments and category headers.
- Supports formatted (non-standard) filenames in the FMS
directories.
- Automatically detects the width of the FMS line.
- Can add user-specified text files to the head and/or tail of the
list.
- Can automatically link to your choice of compression utility to
to produce compressed output.
REQUIREMENTS:
- Requires approx. 128K of memory, plus 28K per 1000 files in your
largest single or multiple-code category. Will work faster on
larger files with more memory.
- Requires approx. 28K of free disk space per 1000 files to create
the temporary work files, plus space for the output file and the
ZIPped file (if created).
DLMASTER 2.51 Page 4
THE DLMASTER CONFIG FILE:
DLMASTER uses a configuration file, which you can create with any
text editor, in order to specify parameters required for the sort and
output. The name of this config file will be included on the command
line when running the program. The default name for the file is
DLMASTER.CFG, and the program will look for this file if you do not
specify one on the command line.
The configuration file must contain at least 6 lines, and can
contain up to 9, in order to specify the following parameters:
line description example
==== ============================ =====================
1 full path of master FMS file C:\RBBS\MASTER.DIR
2 full path of DIR.CAT file C:\RBBS\DIR\DIR.CAT
3 full path of file to create F:\SEND\S3FILES.TXT
4 name of BBS S3-Technologies BBS
5 sort type - A)lpha or D)ate A
6 reverse sort? - Y or N N
7 header file to include (optional) C:\TXT\S3HEADER.TXT
8 footer file to include (optional) C:\TXT\S3FOOTER.TXT
9 path\filename for compression util C:\PKWARE\PKZIP
(optional)
It is worth noting a couple of points here. First, you can create
different types of listings by using different config files (to create
output sorted by date or name. for instance). Second, you can also
create different listings by using different DIR.CAT files. Only the
categories listed in the DIR.CAT file will be included in the final
output. Also, no files marked as "private for sysop" (those with
category code "***") will be included in the output.
The last thing to note pertains to using the optional parameters:
numbers 7, 8 & 9. DLMASTER will read the config file to the end-of-
file. It must find at least six lines for the first six parameters.
You do not need to add any blank lines for parameters 7-9 if you do
not intend to use any of them, but if you wish to use say, parameter
9, you MUST include a blank line (carriage return ONLY) for each of
lines 7 and 8. If you wish to use just parameter 8, you would include
a blank line for parameter 7, but would not need one for parameter 9.
If using parameter nine, you must specify the name of the compression
utility you wish to use. I have tested DLMASTER with PKZIP, ARJ, and
LHARC will success. The only limitation here is that if not using one
of these utilities, the program you select must support the use of an
'a' parameter to indicate that it is adding files to the compressed
output.
DLMASTER 2.51 Page 5
SPECIAL NOTES:
A request was made to handle FMS files where the filename was
formatted in a non-standard way. You may therefore have filenames in
your FMS files formatted in any of four ways:
1) FILENAME.EXT (standard)
2) FILENAME EXT (formatted)
3) FILENAME .EXT (dot formatted)
4) FILENAME (no extension)
The number of spaces between the filename and the extension is
variable, as long as it does not conflict with RBBS-PC requirements.
There must, however, be no spaces between the dot (if used) and the
file extension. The final output will show the filename exactly as it
is in the FMS file.
RUNNING THE PROGRAM:
The syntax for executing DLMASTER is as follows:
DLMASTER <config file>
where <config file> is the name of the configuration file you
have created. If you do not specify a config file, DLMASTER will
look for DLMASTER.CFG by default.
LIMITATIONS:
The following are known limitations of DLMASTER at the present
time:
- Supports no more than 50 chained FMS files.
- Does not support FMS security levels ('=' at beginning
of filename in FMS file).
- Does not display comment lines (beginning with '\' or '*').
- All FMS files must use the same line width.
DLMASTER 2.51 Page 6
THE FMSCHK PROGRAM:
Up to now, I have spent many hours helping people debug problems
with DLMASTER that were related to errors in the format of certain
lines of their FMS directories. Such errors included improper
format/characters in the filesize or date fields, and extraneous
characters between the various fields.
These errors apparantly did not disturb RBBS, but wreaked havoc
with DLMASTER. I have therefore included a small utility, FMSCHK.EXE,
to scan your FMS directory files to ensure that they are in a proper
format to work with DLMASTER.
If you have a problem with DLMASTER, I suggest you first double
check your DLMASTER.CFG file, then run the FMSCHK program against your
FMS. Please refer to FMSCHK.TXT for further information.
FUTURE PLANS:
The best-laid plans often go astray. I have thought of a few
things that I might like to add, but would prefer to get your input on
what you feel would be useful additions or enhancements to DLMASTER.
Please make your suggestions within the scope of DLMASTER's intended
purpose - I'm not trying to make it a "Swiss Army Knife" of FMS
utilities! <grin>
SUPPORT:
I will attempt to provide support for any questions that arise
regarding the use of DLMASTER. Please leave me a message on my
bulletin board, and I will respond within 24 hours. If there is a bug
report, I will try to have a fix available within 3 days. The number
for the board is:
Bob Hampton
S3-Technologies BBS
Burke, VA
(703) 451-9509
300-9600bps 24-hr
Enjoy the program, and let me know if you have ideas for other
useful RBBS-PC utilities!
DLMASTER 2.51 Page 7
NOTES ON COMPILING:
With the introduction of the DOSWDW module, recompiling DLMASTER has
grown to become a C Project, as opposed to a simple compile. Included
in this distribution are the DOSWDW.H and DOSWDW.OBJ files necessary for
your Turbo C MAKE utility. Using these files requires that you temporarily
comment out the current declarations for the setvect() function in your
DOS.H file. Interestingly enough, I found setvect() to be declared twice
in this file, so double-check yours before starting the compile. Also
remember to switch to the Large memory module for compiling DLMASTER, or
you'll get an error during the linking process. If you want an additional
example of how to use this function in a program, download a copy of
DOSWDW.ZIP, available on my board of you can't find it elsewhere.
ACKNOWLEDGEMENTS:
I would like to thank the following sysops for helping me to test
and debug DLMASTER:
Dan Shore The Shoreline (301) 946-2771
Walter Ames The World of Greyhawk (301) 461-9943/465-3891
John Palazzolo JP's Place (703) 237-5786
Sam Coleman Port-of-Call (301) 249-4193
Bruce Marusich Street Noise (301) 601-8710
Their time and efforts have been invaluable in providing me the
feedback necessary to bring you the most bug-free and user-oriented
program possible.
SPECIAL THANKS:
I would like to thank Thomas Mack, Ken Goosens, Doug Azzarito, Jon
Martin, and the countless others who have strived to make RBBS-PC the
best and best-supported BBS program around. Their continuing
commitment to excellence, and their unselfish devotion to public
service is a refreshing change in this otherwise commercialized world.
Their attitude of "users helping users" is one that I hope will
continue to thrive and grow within the PC community, and one that I am
happy to do my part in propagating.
DLMASTER 2.51 Page 8
REVISION HISTORY: (note: 'ß' suffix indicates beta version)
2.51 10-09-92 Double Oops! Changed some code in preparation
for an upcoming feature which affected the
compilation of the compressed file so that
the extension was concatenated. Fixed.
2.50 10-02-92 Oops! Forgot that DOS would only allow you
to have 20 files open at once for any given
process. This caused DLMASTER to bomb out
when using more than 15 chained FMS files
(DOS automatically uses 5 of the available 20).
Thanx to Bob Kiernan from the Beehive BBS for
pointing me towards this one.
This release also supports the compression
utility of your choice, and changes the way
progress is reported during final output by
using a graph. Also adds windowed output
to observe the compression utility in progress.
2.41 6-29-92 Corrected small bug that caused lockup when
DIR.CAT file used spaces between category
codes in multi-code categories.
Also includes version 1.04 of FMSCHK program.
2.40ß 4-20-91 At Last!! I have learned (hopefully) how to
properly manage HUGE arrays in memory (over
64K). Have eliminated annoying bug of lockups
when a single category was too large. Also
reintroduced ability to handle multiple
category codes per category. Also now the
only supported version of DLMASTER (v1.32
rescinded).
2.30 (never released)
2.20 8-4-91 Improved the way that the final output file is
created in order to reduce disk thrashing. Added
proper support for monochrome monitors (finally!).
Also fixed a memory bug that had crept in between
versions 2.00b and 2.10b.
2.11 8-3-91 A cute one! Had changed the way DLMASTER named the
temp files, which caused a strange error. If FMS
category code was "PRN", DLMASTER tried to create a
temp file called "PRN.DL$". Trying to write to the
file would cause a DOS error "Unable to write to
device: PRN", as if it was accessing the printer.
Thanx to Sam Coleman for pointing out this one.
2.10ß 8-3-91 A small oversight corrected. DLMASTER would not
handle FMS category headers, lines that began with
'*'. Thanx to Peter Skorupsky of the Freedom Infonet
BBS for pointing this out.
DLMASTER 2.51 Page 9
Also fixed a bug in 2.01b whereby private files to
Sysop (category code = "***") were not being
processed correctly.
2.01ß 7-28-91 Fixed a bug that had crept in around version 1.20
which caused chained FMS directories not to work.
2.00ß 7-27-91 A MAJOR CODE REWRITE!! DLMASTER now supports FMS
files of virtually unlimited size. Thanx again to
Bruce Marusich for forcing my programming skills
beyond their previous limitation. Had to give up the
ability to handle multiple category codes per
category, but hope to add this back in.
Introduction of the FMSCHK utility, to help identify
errors in the format of the FMS.
1.41ß 7-14-91 Okay - so it was late and I was tired, and I forgot
to increase the stack size....
1.40ß 7-13-91 Fixed problem of stack overflow when more than
approx. 1200 files in one category. This should have
been done at the same time as the fixes in 1.10b, but
hadn't run into a .DIR file with that many files in
one category. Thanks to Bruce Marusich of the Street
Noise BBS for pointing this out.
1.32 3-29-92 Cleaned up bug of not properly deleting all the
temporary files. Also allowed parsing multi-
code category definitions in DIR.CAT with spaces
in between codes.
1.31c 3-23-92 This actually released after version 2.20, in
order to satisfy the needs of those who did not
have large FMS files (over 1200 files/category,
or over 2700 files in total FMS), but needed
the ability to handle multiple category codes.
fixes problem of not properly handling chained
FMS files, and increases maximum category codes
per category to 20.
1.30 6-11-91 DLMASTER could not work with files that had no
extension. An oversight which I was surprised not to
have turned up earlier. Thanx to Jim Mayor of the
HUG BBS for bringing this to my attention.
1.20 4-27-91 First general release since fixes in 1.10b - also
added code to strip "Uploaded by" lines when using
BAMAWHO.MRG or RBBSWHO.MRG merges.
1.10ß 3-24-91 Fixed problem with memory management to work with
arrays larger than 64K. Problem occurred when more
than 2973 files were listed in an FMS directory(ies).
Thanx to Dan Shore of SPPT and Tom Hansen of Church
DLMASTER 2.51 Page 10
Chatters for helping me find this one. Also
reformatted docs to print correctly on laser
printers. Thanx to JP of JP's Place and Sam Coleman
of Port-of-Call for pointing out the benefits of
this.
1.01 1-5-91 Fixed bug causing certain \FMS header lines to not be
parsed correctly.
1.0 1-3-91 First public release. Another rewrite of
documentation. A couple of minor code trims to
remove code used while debugging the beta versions.
0.95ß 1-1-91 Corrected bug causing filenames not to show correctly
on the screen display. Improved error-handling code.
Major rewrite of documentation. New 3-D display
interface added.
0.94ß 12-25-90 Added capability to add user-specified text files at
the head and/or tail of the output file. Modified
screen colors slightly, and added additional
information to documentation.
0.93ß 12-24-90 A quick fix. Allows use of formatted file names in
FMS directories, and corrects problem that caused
work files not to be deleted. This was due to the
fact that DLMASTER read ALL files listed in the FMS
directories, and created temp files for such, but did
not include files in the output for directory
categories not listed in the DIR.CAT file. This
situation also caused the total file and byte counts
to be off.
0.92ß 12-24-90 Added colorful display. Added capability to
automatically ZIP the output file (new config
parameter).
0.91ß 12-22-90 Corrected problems with stack overflow that resulted
in program crashes with larger FMS files. Corrected
code so that files that were for sysop only (cat code
= "***") would not be included in the listing.
0.90ß 12-20-90 Initial beta release.