ZCPR Command Line Parsing Question
From
Wayne Hortensius@21:1/5 to
All on Tue May 18 17:38:56 2021
Part of it appears to be DDT or BDOS changing the FCB before you get
to look at it. I wrote a quick little program in Turbo Pascal to dump
out the DFCB and AFCB blocks as the transient sees them. This was done
with ZCPR3.3.
A6:PASCAL>>PWD
PWD, Version 1.4
DU : DIR Name DU : DIR Name DU : DIR Name DU : DIR Name
---- -------- ---- -------- ---- -------- ---- --------
A 0: BASE A 1: COMM A 2: SOURCE A 3: ZCPR3
A 4: DOC A 5: LADDER A 6: PASCAL A 8: BBS
A 11: TPSRC A 14: HELP A 15: ROOT
B 2: AMPRO B 3: ASTRO B 4: NOVADOS B 5: GAMES
B 7: GSX B 8: CATCHUM B 9: VLIB B 10: CIOS
B 12: CC B 13: ZMODEM
C 2: SYSLIB C 3: Z3LIB C 4: DSLIB C 5: ZSLIB
A6:PASCAL>>dumpfcbs zslib:file1.com vlib:file2.com
DR F1 F2 F3 F4 F5 F6 F7 F8 T1 T2 T3 EX S1 S2 RC
005C 03 46 49 4C 45 31 20 20 20 43 4F 4D 00 05 00 00 .FILE1 COM....
006C 02 46 49 4C 45 32 20 20 20 43 4F 4D 00 09 00 00 .FILE2 COM....
A6:PASCAL>>dumpfcbs c5:file1.com b9:file2.com
DR F1 F2 F3 F4 F5 F6 F7 F8 T1 T2 T3 EX S1 S2 RC
005C 03 46 49 4C 45 31 20 20 20 43 4F 4D 00 05 00 00 .FILE1 COM....
006C 02 46 49 4C 45 32 20 20 20 43 4F 4D 00 09 00 00 .FILE2 COM....
As you can see, the user numbers in S1 are correct for both named and
du prefixes.
In regards the comment about bit 7 being set in S1 to indicate a
valid user number, was that in UNZIPZ itself rather than somewhere in
ZCPR? If that was in UNZIPZ, it makes sense. On a call to open a file, ZSDOS/ZDDOS will only use the value in S1 as a user number if b7 is set
and the BDOS error mode is non-zero. As far as I remember, the only
place that the b7 check is applicable is on a ZSDOS/ZDDOS file open (but
that's just going from memory, so I could be wrong about that).
Regards,
Wayne
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)