Category : Pascal Source Code
Archive   : SOFTOOLS.ZIP
Filename : INITCMD.PAS

 
Output of file : INITCMD.PAS contained in archive : SOFTOOLS.ZIP
{initcmd.pas}

{
Copyright (c) 1981
By: Bell Telephone Laboratories, Inc. and
Whitesmith's Ltd.,

This software is derived from the book
"Software Tools in Pascal", by
Brian W. Kernighan and P. J. Plauger
Addison-Wesley, 1981
ISBN 0-201-10342-7

Right is hereby granted to freely distribute or duplicate this
software, providing distribution or duplication is not for profit
or other commercial gain and that this copyright notice remains
intact.
}

PROCEDURE INITCMD;
VAR
FD:FILEDESC;
FNAME:XSTRING;
FT:FILTYP;
IDX:1..MAXSTR;
I,JSKIP:INTEGER;
JUNK:BOOLEAN;


BEGIN
CMDFIL[STDIN]:=STDIO;
CMDFIL[STDOUT]:=STDIO;
CMDFIL[STDERR]:=STDIO;
FOR FD:=SUCC(STDERR) TO MAXOPEN DO
CMDFIL[FD]:=CLOSED;
WRITELN;
write('$ ');
FOR FT:= FIL1 TO FIL4 DO
CMDOPEN[FT]:=FALSE;
KBDN:=0;
if (not getline(cmdlin,STDIN,MAXSTR)) then error('NO CMDLINE');
CMDARGS:=0;
JSKIP:=0;
IDX:=1;
WHILE ((CMDLIN[IDX]<>ENDSTR)
AND(CMDLIN[IDX]<>NEWLINE)) DO BEGIN
WHILE((CMDLIN[IDX]=BLANK)AND(JSKIP MOD 2 <>1))DO
IDX:=IDX+1;
IF(CMDLIN[IDX]<>NEWLINE) THEN BEGIN
CMDARGS:=CMDARGS+1;
CMDIDX[CMDARGS]:=IDX-JSKIP;
WHILE((CMDLIN[IDX]<>NEWLINE)AND
((CMDLIN[IDX]<>BLANK)OR(JSKIP MOD 2 <>0)))DO BEGIN
IF (CMDLIN[IDX]=DQUOTE)THEN BEGIN
JSKIP:=JSKIP+1;
IDX:=IDX+1
END
ELSE BEGIN
CMDLIN[IDX-JSKIP]:=CMDLIN[IDX];
IDX:=IDX+1
END

END;
CMDLIN[IDX-JSKIP]:=ENDSTR;
IDX:=IDX+1;
IF (CMDLIN[CMDIDX[CMDARGS]]=LESS) THEN BEGIN
XCLOSE(STDIN);
CMDIDX[CMDARGS]:=CMDIDX[CMDARGS]+1;
JUNK:=GETARG(CMDARGS,FNAME,MAXSTR);
FD:=MUSTOPEN(FNAME,IOREAD);
CMDARGS:=CMDARGS-1;
END
ELSE IF (CMDLIN[CMDIDX[CMDARGS]]=GREATER) THEN BEGIN
XCLOSE(STDOUT);
CMDIDX[CMDARGS]:=CMDIDX[CMDARGS]+1;
JUNK:=GETARG(CMDARGS,FNAME,MAXSTR);
FD:=MUSTCREATE(FNAME,IOWRITE);
CMDARGS:=CMDARGS-1;
END
END
END;
END;





  3 Responses to “Category : Pascal Source Code
Archive   : SOFTOOLS.ZIP
Filename : INITCMD.PAS

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/