home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 2 BBS
/
02-BBS.zip
/
OS2PLST.SRC
/
BILL.MSG
next >
Wrap
Text File
|
1990-05-09
|
3KB
|
83 lines
OS/2 version of Parselst v1.31, ported by Bill Andrus, 1:109/301.
(Note: This program was modified on 05/08/90 to handle >9 consecutive
digits in phone number strings, and the version number was bumped
up at that time.)
If FIDOUSER.LST is specified, then a program conforming to the following
command line must be provided:
QSort FIDOUSER.$$1 /+1 41 /+61 5 R /+41 13 R /+55 6 /Q /G
Where each field is defined by /+sc nc (starting, number of cols), with
R to reverse the default ascending order to descending. The /Q is the
quiet switch, and /G specifies binary (v. ASCII) sort fields. Debug
or other binary editor can be used to edit this line to whatever is
available under OS/2 (the default SORT.COM will NOT work), just insure
the string remains NULL terminated.
Numerous problems with the original code were discovered, especially
with null pointers causing TRAP 13 hits. This code will now compile with
/W3 with only six automatic data conversion warnings in PARSELST.C, and
without the STDIO.C and LOWLEVEL.ASM actually generated a full Rev 6
Nodelist on my system faster under OS/2 than the stock version under
PC-DOS 4.01 does. MUCH faster!
My Turbo AT has two MFM drives, and a relatively normal OS/2 SE 1.1 setup.
Here's my LISTGEN.CMD using ARC2.EXE and this PARSELST.EXE:
@Echo Here we go...
@Echo off
REM Start with Current NODELIST.A* in D:\Tmp, possible new NODEDIFF.A*
REM in C:\Bink\Inbound. Compile NODELIST.* in C:\Bink\Nodelist, then
REM if new NODELIST, Archive it to D:\Tmp, and delete all NODELIST from
REM C:\Bink\Nodelist, and any NODEDIFF.
Set BBS=C:\Bink
Set BINKLEY=C:\Bink\
Set EXPMSG=2400
Set FILE=C:\Bink\Inbound
Set IN=C:\Bink\Inbound
Set MAIL=C:\Bink\Mail
Set OUT=C:\Bink\Outbound
C:
CD \Bink\Nodelist
If Exist Node*.* Del Node*.* >Nul:
If NOT Exist %FILE%\Nodediff.A* Goto Compile
If Exist D:\Tmp\Nodediff.A* Del D:\Tmp\Nodediff.A* >Nul:
CD %FILE%
For %%D in (Nodediff.A*) Do Set ND=%%D
Copy %FILE%\%ND% D:\Tmp >Nul:
Del %FILE%\%ND% >Nul:
CD \Bink\Nodelist
>Nul: ARC2 EO D:\Tmp\%ND% Nodediff.*
:Compile
For %%L in (D:\Tmp\Nodelist.A*) Do Set ONLA=%%L
>Nul: ARC2 EO %ONLA% Nodelist.*
For %%O in (Nodelist.*) Do Set ONL=%%O
REM Perform NODELIST 5/6 compile
c:\Bink\ParseLst
If Not ERRORLEVEL 0 Goto Exit
:REM Now delete raw Nodelist
Del %ONL% >Nul:
If NOT Exist Nodediff.* Goto Exit
Del Nodediff.* >Nul:
For %%N in (Nodelist.0* Nodelist.1* Nodelist.2* Nodelist.3*) Do Set NNL=%%N
>Nul: ARC2 A5 D:\Tmp\%NNL% %NNL%
Ren D:\Tmp\%NNL% NODELIST.A*
Del %NNL% >Nul:
Del %ONLA% >Nul:
:Exit
Echo.
Echo We're Out-ta Here!!!
I apologize to those that prefer highly commented batch files, but this is as
good as it gets. And, it works, nice and quietly. I invoke it from my
POINT.CMD file with the following line, located in the section for new mail:
If Exist %IN%\NODEDIFF.A* Call LISTGEN.CMD
I've tried to get this to compile and execute in Compact, but Medium is the
best I could do.