|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 896 (0x380) Types: TextFile Names: »CPMGET.SRC«
└─⟦d6ef3842c⟧ Bits:30002678 Pascal MT+ Version 3.3 Rel 1.2 └─ ⟦this⟧ »CPMGET.SRC«
(*$S+*) (* rmx/udi version *) MODULE GETREC; (*$I FIBDEF.LIB*) VAR @LFB: EXTERNAL ^FIB; EXTERNAL PROCEDURE @RNB; PROCEDURE GET(VAR F:FIB; SZ:INTEGER); VAR IS_EOLN : BOOLEAN; BEGIN F.FEOLN := FALSE; (* DEFAULT IS THAT WE RESET IT *) @LFB := ADDR(F); IF F.FEOF THEN BEGIN F.FEOLN := TRUE; EXIT END; @RNB; (* GO READ FROM THE FILE/CONSOLE *) IF F.FTEXT THEN (* TEXT FILE, EOLN/EOF MUST BE SET *) BEGIN F.FEOF := (F.FBUFFERÆ0Å = CHR($1A)) OR (F.FEOF); IS_EOLN := (F.FBUFFERÆ0Å = CHR($0D)); (* $0D for rmx/udi *) IF (IS_EOLN) OR (F.FEOF) THEN F.FEOLN := TRUE; IF (IS_EOLN) AND (F.OPTION = FRDWR) THEN (* GOBBLE LF *) @RNB; IF F.FEOF OR F.FEOLN THEN F.FBUFFERÆ0Å := ' '; END END; MODEND. «eof»