• 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)