home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 15
/
CD_ASCQ_15_070894.iso
/
vrac
/
bws_13.zip
/
BWSAVE.DOC
next >
Wrap
Text File
|
1994-05-11
|
15KB
|
358 lines
BWSave
A simple Blue Wave packet merger.
Version 1.3 May, 1994
(c) Copyright David A. Gersic 1993. All rights reserved
Quick Start:
For people who hate reading entire documentation files
just to find out what a program does, this compressed
file contains a program that will merge Blue Wave mail
packets so that you can keep important messages in a
format where they are easily used and found. The command
line options can be displayed by running BWSAVE.EXE with
no other options, or with /?.
Installation:
Installation of BWsave is simple, just decompress the
executable file (BWSAVE.EXE) into a subdirectory that is
on your DOS path or other similarly convenient place.
Operation:
BWSave takes several command line arguments to control
its operation. Two are required, and the other four are
optional and modify BWSave's operation. The two required
parameters are the source and destination mail packet
names. The source packet is the one that you have that
you want messages saved from, and the destination packet
is where those messages are going. The destination packet
name must be the last file name on the command line. If
the destination packet does not exist, BWSave will create
it for you.
In its simplest use, the command line:
BWSAVE CONNECTN.SA1 CONNECTN.999
will uncompress CONNECTN.SA1 and CONNECTN.999 to
temporary directories, add messages marked for saving in
CONNECTN.SA1 to the packet in CONNECTN.999 and recompress
CONNECTN.999. If CONNECTN.999 does not exist, BWSave will
create it.
Command Line Options:
BWSave has four optional command line options that change
its default behaviour (save all messages marked 'Save').
They are:
/all This causes BWSave to copy all messages
from the source packets to the
destination packet, regardless of the
status of the 'Save' attribute.
/conf='AT' This switch causes BWSave to copy all
messages from the conference specified by
'AT' (the area tag) to the destination
packet regardless of the status of the
'Save' attribute.
/noinf Causes BWSave not to copy the
BBS_NAME.INF file to the destination
packet. (See "Bugs", below.)
/unread This causes BWSave to mark each message
it saves to the destination packet as
having not yet been read.
The Area Tag (for the /conf= switch) depends on the BBS
software in use. It is a string of characters that the
BBS uses to keep track of the various message areas
available. On bbs software that uses the 'Hudson' message
base (Remote Access, QuickBBS, etc.), this is a number
from "1" to "200" and would be used like /conf=200 or
/conf=32. On other software (like Telegard), the area tag
is a name, like C_ECHO, or RA_UTIL, which would be used
as /conf=C_ECHO. The comparison is not case sensitive, so
/conf=c_echo would also work.
The easiest way to discover what Area Tag your favourite
message area has is to check from within Blue Wave. There
are two places that this information can be displayed,
the 'Area to Read' screen, and while reading a message in
the area. From the 'Area to Read' screen, highlighting a
message area and pressing the <Tab> key will display a
box with information about the message area that looks
like:
┌─ Current Area Information ────────────────────────────┐
│ Main │
│ (Local Base) │
│ Area Tag : 1 │
│ Msg Types : Public and Private Msgs Allowed │
│ Name Used : David Gersic │
│ │
│ Total Msgs: 8 Unread Msgs: 0 Personal Msgs: 0 │
└───────────────────────────────────────────────────────┘
While reading a message in the conference, the <I> key
presents a similar box.
In either case, the Area Tag line displays what the BBS
is using, and what should be specified with the /conf=
switch.
The command line switches are treated as a logical 'OR'
during BWSave's processing. BWSave will copy a message to
the destination packet if it is marked 'Save' OR if
'/all' is in effect OR if /conf= is in effect and the
current message is in the specified conference.
BWSave also now has the ability to handle more than one
source packet at a time. Multiple packet names can be
passed to BWSave on the command line (the last file name
on the command line is assumed to be the destination
packet name), either individually or via DOS wildcards.
BWSave will decompress the destination packet, decompress
each source packet, add the messages from the source
packets, and recompress the destination packet after all
source packets have been processed. With a large
destination packet and many source packets, this can be
quite a time saver.
Warning: you should specify a valid Blue Wave packet file
name for the save packet name. BWSave doesn't care what
you name it, but Blue Wave will only "see" correct file
names.
Speed: From my own testing, most of BWSave's processing
time is spent shelling to the archiving programs. A good
disk cache does speed up BWSave's operation, though, as
it is disk intensive. I use, and recommend, HyperDisk,
but others like SmartDrive, NCache, or PC-Kwik should
work.
Bugs:
As far as I know, there are no actual bugs in BWSave, but
there are a few potential bits of wierdness.
First, BWSave makes no attempt to keep you from saving
the same message twice. This can lead to a saved message
packet with duplicate messages in it if you accidentally
BWSave the same source packet more than once. Fortunatly,
Blue Wave can delete messages from mail packets, so this
is only a minor annoyance.
Second, any changes in the message areas on the bbs may
produce strange results once a new packet is merged with
an older one. The symptom of this is messages "moving"
from one message area to another. If you notice that all
of your saved messages in the "NETMAIL" area just moved
to "SWEEDISH_COOKING", you'll know that your sysop has
been rearanging his message areas. The simplest recovery
from this is to replace the BBS_NAME.INF file in your
saved mail packet with one from an older mail packet.
Note that this is not the same as the BBS_NAME.INF file
in your Blue Wave directory. The /noinf switch will keep
BWSave from undoing your fix the next time you save
messages to your destination packet. Other than start a
new save packet, or live with your NetMail being listed
as being in the Sweedish_Cooking echo, there isn't much
you or I can do about this.
Third, I detect the type of archiver used to compress the
mail packet, but only Zip, LHA, ARJ, and Pak format
archives can be handled. Any other archiver will give you
an error message. If somebody wants to NetMail me the
command lines that should be used for Zoo, ARC, and ARC6
formats, I'll be happy to add them. Archiver detection
may not be perfect, either, as I only use and tested Zip,
LHA, and ARJ.
Fourth, BWSave assumes that it can find your archive
utilities on your DOS PATH, and that they are named
PKZIP/PKUNZIP, LHA, or ARJ. If you have renamed them,
BWSave will not be able to find them and may work in
strange and wonderous ways.
Legal Caveats:
While I have tried my hardest to develop and test this
software to ensure that there are no bugs in it, I make
no claim that it is perfect. If any bugs are found, I
would appreciate a report of them, but I take no
responsibility for any damage they may do.
This software is copyrighted material. It may be
distributed freely, but only in complete and unmodified
form. If you are going to use it regularly, you must
register it. As this is a simple utility that I wrote
because I wanted one, I'm only asking for $5. If it isn't
worth $5 to you, delete it from your disk. Remember,
shareware only works if you pay.
Thanks go to:
George Hatchew, author of the Blue Wave mail system.
Fabrice Bellard, author of Lzexe.
Bob Stout, keeper of the C_Echo SNIPPETs.
Heinz Ozwirk, for a modified version of his archiver
detection code.
Walter Bright, for the file_copy() function.
Ray Gardner, for a much faster insertion sort than I
could write.
Michael Tatum and George Worley for pointing out a few
bugs that I missed in version 1.0.
George Worley for pointing out a bug in 1.1, also.
New in version 1.1:
Deleting all of the messages in a message area was
confusing BWSave which would then run out of memory
trying to add a new message to the saved packet; fixed.
Only about 120 messages could be saved; fixed. I tested
saving up to over 1600 messages and had no problems with
BWSave or Blue Wave handling the packet.
New in version 1.2:
BWSave was producing a <BBS Name>.MIX file that the Blue
Wave reader couldn't work with. It appeared that BWSave
was not saving some messages marked for saving, but in
fact the messages were in the save packet; you just
couldn't see them with the Blue Wave reader. As far as I
can tell, using the 1.2 version of BWSave will 'correct'
the broken save packet and all saved messages will show
up automagically.
New in version 1.3:
Added '/all' switch to save _all_ messages in the source
mail packet regardless of the Mark status.
Added '/conf=' switch to save all messages from a
specific conference.
Added '/noinf' switch to suppress copying of the
BBS_NAME.INF file from the source packet.
Added '/unread' switch to change the 'Read' status of all
messages moved to the destination packet.
Fixed (finally, I hope) the bug that was producing what
appeared to be duplicated messages if the destination
packet had originally been created by a Blue Wave door.
Changed sorting algorthms to what should be a faster one,
especially on large destination packets.
Added 'spinner' to the sort so that BWSave doesn't look
like it's not doing anything while the messages are being
put in the proper order.
Added wild card expansion for the source packet name(s)
and multiple source packet handling without recompressing
the destination packet each time.
Fixed some memory allocation leaks and cleaned up some
memory use, allowing BWSave to handle more messages in
the destination packet (now can handle up to 2360
messages in the destination packet).
Removed display of conference titles.
Added conference area tag to display of message being
saved.
Added 'xx messages moved to archive packet.' to end of
BWSave's execution.
In The Works:
Unlimited size destination packets. This will probably be
somewhat slower than the current memory-based approach,
so it may be an option rather than the default behavior.
OS/2 native version of BWSave. The current BWSave was
develloped and tested in a DOX box under OS/2, but a 32-
bit 'native' version should be out this summer. A 32-bit
DOS version may also be done at the same time.
User-modifiable configuration file for the archiver
command lines, default command line switches, and other
information.
Updating PKTSTATS.BW file directly so that the
destination packet always displays correctly in the
packet list window of Blue Wave.
More command line options.
For Those Who Are Interested: This software was written
in the C language, using Microsoft's C compiler ver.
6.00, and compressed with Fabrice Bellard's Lzexe file
compressor.
Contacting the Author:
U.S. Mail: David Gersic
927 E. Garden St.
DeKalb, Il 60115
(815) 753-8548
BITNET: A02DAG1@NIU.BITNET
Internet: a02dag1@noc.niu.edu
FidoNet: 1:11/70
BWSave
(c) Copyright David A. Gersic 1993. All rights reserved