SUBROUTINE GETLST ( cmdbuf, lencmd, fillst, fillen, ier ) C CHARACTER*80 cmdbuf CHARACTER*80 fillst C INTEGER*2 lencmd, ier, fillen, istart, iend INTEGER*2 locspc, locsls INTEGER*2 SLASH, SPACE, STRLEN EXTERNAL SLASH, SPACE, STRLEN C C Executable begins here. C istart = 1 iend = lencmd 1000 CONTINUE locspc = SPACE ( cmdbuf, istart, iend ) locsls = SLASH ( cmdbuf, istart, iend ) IF ( locsls .LE. 0 .AND. + locspc .LE. 0 ) THEN ier = -1 ! Nothing at all. ELSE IF ( locspc .LE. 0 ) THEN ier = -2 ! Only switches. ELSE IF ( locsls .GT. locspc ) THEN istart = locsls + 1 ! Position after /. GO TO 1000 ! No switches after list. ELSE locspc = locspc + 1 ! Point after space. fillen = STRLEN ( locspc, lencmd ) ! Length of list. fillst(1:fillen) = ! + cmdbuf(locspc:lencmd) ! ier = 1 ! Success. END IF RETURN END