|
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 - metrics - download
Length: 896 (0x380) Types: TextFile Names: »GET.SRC«
└─⟦8dcf1351b⟧ Bits:30004118/disk2.imd SW1720/I5 Pascal/MT+ Release 5.5 └─⟦this⟧ »GET.SRC«
MODULE GETREC; (*$M GET*) (*$M **) (*$I 80rtp/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)); 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»