SPL,L,O,"<LSHFT>" 
! 
      NAME LSHFT(7) "92425-16028 REV.1841 780927" 
! 
!-------------------------------------------------------------
! 
! 
!     F. WARREN         17MAY76    REV. A 
! 
!     "C" COPYRIGHT HEWLETT-PACKARD COMPANY 1976. 
!     ALL RIGHTS RESERVED.  NO PART OF THIS PROGRAM 
!     MAY BE PHOTOCOPIED, REPRODUCED OR TRANSLATED
!     TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR 
!     WRITTEN CONSENT OF THE HEWLETT-PACKARD COMPANY. 
! 
!-------------------------------------------------------------
! 
! 
!     THIS ROUTINE TAKES STRING STRN AND SHIFTS IT LEFT UNTIL 
!     CHARACTER POSITION CPOS IS IN POSITION 1. 
! 
! 
      LET PUT BE SUBROUTINE,EXTERNAL,DIRECT   ! PUT A CHAR
      LET GET BE FUNCTION,EXTERNAL,DIRECT     ! GET A CHAR
! 
! 
LSHFT: SUBROUTINE (STRN,CPOS) GLOBAL,FEXIT
      LET STRN(1) BE INTEGER
      LEN _ STRN(1)                   ! GET STRING CCNT 
      IF (CPOS>LEN) OR (CPOS<1) THEN FRETURN -1 ! ILLEGAL POS 
      STRN(1) _ 0 
      FOR I _ CPOS TO LEN DO THRU BBB  ! SHIFT LOOP 
         .B. _ @STRN
         .A. _ I
         ACHR _ GET 
         .B. _ @STRN
         .A. _ ACHR 
BBB:     PUT
      RETURN 0                         !
      END                              !
      END 
END$
                                                                                                                                                                                                                                                          