C C C C SRD command line generator C ========================== C C Author: William Wood C C Address: Computer Center C Institute For Cancer Research C 7701 Burholme Ave. C Philadelphia, Pa. 19111 C (215) 728 2760 C C Version: 1.0 C C Date: May 14, 1981 C C C C ******************************************************* C * * C * THIS SOFTWARE WAS DEVELOPED WITH SUPPORT * C * FROM THE NATIONAL INSTITUTES OF HEALTH: * C * NIH CA06927 * C * NIH CA22780 * C * * C * DIRECT INQUIRIES TO: * C * COMPUTER CENTER * C * THE INSTITUTE FOR CANCER RESEARCH * C * 7701 BURHOLME AVENUE * C * PHILADELPHIA, PENNSYLVANIA 19111 * C * * C * NO WARRANTY OR REPRESENTATION, EXPRESS OR * C * IMPLIED, IS MADE WITH RESPECT TO THE * C * CORRECTNESS, COMPLETENESS, OR USEFULNESS * C * OF THIS SOFTWARE, NOR THAT USE OF THIS * C * SOFTWARE MIGHT NOT INFRINGE PRIVATELY * C * OWNED RIGHTS. * C * * C * NO LIABILITY IS ASSUMED WITH RESPECT TO * C * THE USE OF, OR FOR DAMAGES RESULTING FROM * C * THE USE OF THIS SOFTWARE * C * * C ******************************************************* C * * C * THIS SOFTWARE WAS DESIGNED FOR USE ON A * C * PDP-11/70 OPERATING UNDER IAS V3.0 USING * C * THE FORTRAN-IV PLUS COMPILER. * C * * C ******************************************************* C C gcmd - get command line from MCR, TS, or terminal C This routine may be used by programs wishing to receive a C time sharing message (command line) from XEQ, a C command line from MCR, or a command line from the terminal C directly using a prompt. C C By William Wood, Sept 1980 C SUBROUTINE GCMD(LUN, PROMPT, BUF, LEN, MAXLEN, SOURCE) BYTE PROMPT(1), BUF(1) INTEGER LUN, LEN, MAXLEN, SOURCE INTEGER I, J, JUNK LOGICAL FIRST DATA FIRST/.TRUE./ LEN = 0 IF (.NOT.(FIRST)) GOTO 2000 FIRST = .FALSE. CALL GETMCR(BUF, LEN) IF (.NOT.(LEN .GT. 0)) GOTO 2020 SOURCE = - 2 I = 1 2040 IF (.NOT.(I .LT. LEN)) GOTO 2060 IF (.NOT.(BUF(I) .EQ. ' ')) GOTO 2070 GOTO 2060 2070 CONTINUE 2050 I = I + 1 GOTO 2040 2060 CONTINUE J = I I = I + 1 2090 IF (.NOT.(I .LE. LEN)) GOTO 2110 BUF(I - J) = BUF(I) 2100 I = I + 1 GOTO 2090 2110 CONTINUE LEN = LEN - J GOTO 2030 2020 CONTINUE CALL RECCML(BUF, LEN) SOURCE = - 1 2030 CONTINUE 2000 CONTINUE IF (.NOT.(LEN .LE. 0)) GOTO 2120 SOURCE = 0 IF (.NOT.(LUN .EQ. 0)) GOTO 2140 LEN = - 10 GOTO 2150 2140 CONTINUE 2160 CONTINUE CALL READPR(LUN, PROMPT, BUF, LEN, MAXLEN - 1, JUNK) 2170 IF (.NOT.(LEN .GE. 0 .OR. LEN .EQ. -10)) GOTO 2160 2180 CONTINUE 2150 CONTINUE 2120 CONTINUE BUF(MAX0(1, MIN0(MAXLEN, LEN + 1))) = 0 RETURN END C reccml - stub for IAS specific receive timesharing message SUBROUTINE RECCML(BUF, LEN) BYTE BUF(1) INTEGER LEN LEN = - 80 RETURN END