home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MSGNUM
- Revision: 4.16d
- 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.3 FAT and HPFS
- volumes, as well as across IBM Token Ring LAN segments.
-
- *********************************************************************
- * 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|O120] [-P prm] [-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:
- search via MAX.PRM (default) and AREAS.DAT
- 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
- -O120 Use Opus 1.2x file structures for updating lastread
-
- -P Override default Maximus MAX.PRM file name
-
- -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. If Maximus,
- the MAX.PRM is required, used to access the AREAS.DAT/IDX
- files to get to the message area path. Using a number 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.16d March 25, 1991
-
- Now that 4.16c is working, added in the Opus 1.20 mods from Graham
- Stair, and started working in the Maximus PRM and 2.0 stuff.
-
- ====>MSGNUM - Revision: 4.16c March 23, 1991
-
- Well, the best laid plans... Fixing up the Maximus area number search
- AND getting back to the correct drive/directory after its run.
-
- ====>MSGNUM - Revision: 4.16b March 18, 1991
-
- Identified both places where an exit could be made without resetting
- the current drive and directory back to the originals, and fixed them.
-
- ====>MSGNUM - Revision: 4.16 February 6, 1991
-
- Found and fixed source of another rare Segment Violation, where the
- message link pointers are bad, and MSGLINK has NOT been run yet. This
- one was found with archived QMail messages.
-
- ====>MSGNUM - Revision: 4.15ma December 12, 1990
-
- Started building the OPUS 1.2X-compatible version. Switched over to
- MS C 6.0a, but still getting code generation-related problems.
-
- ====>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.
-