FUNCTION FNDCMD(STRING,CMD,CMDS,LENGTH) C C C SEARCH COMMAND TABLE AND RETURN THE COMMAND NUMBER C IMPLICIT INTEGER (A-Z) LOGICAL*1 CMD(1) , STRING(1) C CHRCNT = LEN(STRING) ! FIND LENGTH OF STRING IF (CHRCNT.GE.LENGTH) GOTO 30 ! ERROR -- CMD TOO LONG DO 20 I=1,CMDS DO 10 J=1,CHRCNT 10 IF (CMD(J+1+((I-1)*LENGTH)).NE.(STRING(J).AND..NOT."40)) 1 GOTO 20 ! IF NO MATCH IF (CHRCNT.GE.CMD(1+((I-1)*LENGTH))) GOTO 40 ! FOUND ONE FNDCMD = 0 ! FLAG AMBIGUOUS COMMAND GOTO 999 20 CONTINUE C 30 FNDCMD = -1 ! ILLEGAL COMMAND GOTO 999 ! EXIT C 40 FNDCMD = I ! RETURN COMMAND NUMBER C 999 RETURN END