c Subroutine to shift LINE to left after current item has been scanned c deletes blanks between that point and first non-blank character c Performs no operation if current item is EOL (binary 0) c Sets return arguments pointing to first and last non-blank characters subroutine shrink (iskip, ifnbr, lnbr) c include 'comdtc.inc/nolist' byte ll, work(10) ifnb = 0 lnb = 0 do i = 1, 10 ll = line(i) if (ll .ne. 0) then work(i) = ll else work(i) = 26 end if end do type 99, '0', work, iskip 99 format (11a1, ': ', 4i3) if (line(1) .eq. 0) go to 999 ! Exit immediately ix = iskip + 1 ! start looking do while ((ix .le. icmln) .and. (line(ix) .ne. 0)) if (line(ix) .gt. ' ') go to 10 ! Found something ix = ix + 1 end do line(1) = 0 ! Flag end, no copy go to 999 10 ifnb = 1 lnb = 1 Do i = 1, icmln-ix ll = line(ix) line(i) = ll if (ll .eq. 0) go to 999 ! Stop at EOL if (ll .gt. ' ') lnb = i ix = ix + 1 end do line(min0(lnb+1, icmln)) = 0 ! Flag EOL if not found 999 ifnbr = ifnb ! Set return values lnbr = lnb do i = 1, 10 ll = line(i) if (ll .ne. 0) then work(i) = ll else work(i) = 26 end if end do type 99, ' ', work, ifnb, lnb end