home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
BINK.ZIP
/
MSGNUM.DOC
< prev
next >
Wrap
Text File
|
1990-09-20
|
9KB
|
173 lines
MsgNum
Revision: 4.14ml
by Bill Andrus, FidoNet Node 1:109/301
Documentation by Dot Hage, FidoNet Node 1:109/530
Based on copyrighted source by Bob Hartman, contained in
ConfMail 3.31 and Renum 4.10, and modifications by David
Hart. The basic work upon which most of MsgNum is based is
Copyright 1985-88 Spark Software, Inc. All rights reserved.
Also contains components of the Opus Toolkit 0.37
MsgNum, like an earlier utility called RENUM, is a utility for deleting
excess BBS messages when too many accumulate and renumbering the
remaining ones. How it operates depends upon the command line
parameters you use, but in general it will delete X number of messages,
starting with the lowest-numbered, and then renumber the rest. For
example, if you have 453 messages and would like to end up with 200, it
will delete the first 253 messages, and then start renumbering from 254
(which will become number 1) on up.
This utility is now released in two separate packages, like MSGLINK and
VPurge. The OS/2 version is tested on IBM OS/2 EE 1.2 FAT and HPFS
volumes, as well as IBM TRN and 3174 Peer LAN volumes.
*********************************************************************
* NOTE: This version is being released in two highly optimized *
* forms. Unlike Renum 4.10, upon which its algorithms are *
* based, MsgNum is NOT using sector-level disk I/O, and thus *
* should operate fine in all normal DOS and OS/2 environments, *
* including LAN and high performance cached disk systems. It *
* runs much quicker than ConfMail 3.31, with enhanced logic, *
* and should be viewed as a significant improvement over it. *
* Since this a major change in source code over both ConfMail *
* 3.31 and Renum 4.10, Bob Hartman and Spark Software have no *
* responsibility if this program does anything nasty, but get *
* all the credit for having released the source in the first *
* place. It has been tested successfully on many systems, but *
* that in no way means it will run on your system. *
*********************************************************************
This version of MSGNUM is able to handle messages numbered up to 2048
in any directory. Beyond that, the program will give unpredictable
(and usually undesired) results.
This version of MSGNUM will renumber up to 16 entries in LASTREA?, for
Sirius and FrontDoor users (and some utilities which keep their High
Water Mark in there). It will also scan up to 10 user lastread entries
in the older Opus 1.0-style USER.BBS and all 256 in Opus 1.1-style
USER.DAT files. It will also attempt to maintain the 1.MSG High Water
Mark pointer.
MSGNUM is using higher level I/O calls like Remapper, rather than
FAT-specific lower level I/O routines. It runs best with areas that
are more or less contiguous before it is run. It will always be as
fast as old versions of RENUM when just doing message base renumbering,
but it is much faster when killing messages as well as renumbering them
with one command.
The command line is as follows. Note that it is similar to the
current RENUM, but quite different from ConfMail:
MSGNUM [-D days] [-K] [-M] [-N save1 save2] [-O] [-Q] [-S] [-R] <dir>
-D Kill by number of days old:
Days is the number of days of messages to save. If you choose 2,
for instance, only messages two days old or less will be saved.
RENUM and MSGNUM have always tried to use arrival date instead of
message creation date, but QMail doesn't correctly set arrival
date within message headers, so if you use QMail you may find it
results in incorrect dates being used here.
-K Kill received messages
-M Use Maximus 1.0x structures:
update the user pointers in LASTREAD.BBS if one exists.
-N Kill by number:
save1 is the number of messages to skip before killing.
You will usually want to save at least the first
message, which is where utilities like Confmail store
various information they need. You might also want to
save message number two, and use that message to give
users introductory information about the message area.
save2 is the number of messages that should exist after save1
messages are saved. In other words, if you want to end
up with 200 messages total, saving the first message,
you would use: -N 1 199
-O Use Opus 1.1x file structures for USER.DAT, SYSTEMxx.BBS
-Q Do it all quietly (don't write anything to the screen).
-S Kill sent messages
-R Renumber messages
<dir> directory
Name of directory to renumber. If specified as a number, the
SYSTEMxx.BBS (or SYSTEMxx.DAT for Opus 1.1+) in the current
directory is used to get the message area path. This means
that if you are running Maximus, either you will have to use
PIPER to generate SYSTEMxx.DAT files, or you will have to
specify the path, and not just the directory number. This will
also trigger renumbering the USER.BBS (or USER.DAT), should it
exist in the current directory. If only a directory path is
given, no attempt to access any user list file is made. If
any LASTREA? files are found in the message subdirectory, they
are assumed to conform to the standard Opus format (an array
of unsigned integers) which are message numbers, and updated.
The directory (number or path) must be the last argument on the command
line.
Both -O and -M can be safely specified for those running both Opus 1.1+
and Maximus systems. All the -M flag does is enable a check for
LASTREAD.BBS.
Either "-" or "/" can be used interchangeably to identify a switch.
Some examples:
MSGNUM -D 10 -N 1 100 -R C:\Msgs\Tech
This will first kill messages older than 10 days in area
C:\Msgs\Tech, then save 1.MSG and kill messages until there are
100 left after 1.MSG. Finally, the message base will be
renumbered.
MSGNUM /K -D 10 /N 0 50 -R 2
In area 2, kill received messages, kill messages more than 10
days old, only save 50 after that, and then renumber the
messages (and because an area number was specified, update
the USER.BBS file).
=====================================================================
REVISION HISTORY
====>MsgNum - Revision: 4.14ml September 5, 1990
Turns out that there's a message mangler floating about that totally
trashes the message header month field, so badly that MsgNum would
overlay its stack and code attempting to extract it. And made the -A
switch inoperative since it was causing more problems than it fixed.
====>MsgNum - Revision: 4.13ml.l June 11, 1990
Kill by date had two problems: arrival date was being ignored on QMail
imported messages, and it usually didn't work at all. Added the -A
switch to force arrival date use, and fixed the fix to the date routine
which was originally preventing Segment Violations, but broke the date
processing.
====>MsgNum - Revision: 4.13ml.k June 6, 1990
Hopefully, this will be the last Beta. I believe that this program is
now about as immune to grunged messages as its design permits. While
fixing the exposures (all in the Date routine), also added Mei/May
recognition. Oh, and this one could be even faster than .j was, too.