SPL,L,O,"<ATACH>" 
! 
! 
      NAME ATACH(7) "92425-16021 REV.1841 780827" 
! 
!-------------------------------------------------------------
! 
! 
!     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. 
! 
!-------------------------------------------------------------
! 
! 
! 
      LET PUT BE SUBROUTINE,EXTERNAL,DIRECT   ! PUT A CHAR
      LET GET BE FUNCTION,EXTERNAL,DIRECT     ! GET A CHAR
! 
! 
!     ATACH                            STRING CONCATENATE ROUTINE 
ATACH: SUBROUTINE (STRN, STRNB,LIMIT) GLOBAL
      LET STRNB(1) BE INTEGER          ! STRING TO BE ATTACHED
      B_.B.                            ! SAVE @ LST PARM PASSED 
      ASTRB _ @STRNB                   ! GET STRING ADDRESS 
      LEN _ STRNB(1)                   ! GET STRING CCNT
      IF LEN<=0 THEN RETURN            ! DON'T ATTACH NULL STRING 
      APARM_B-(@ATACH-1)               ! GET OPTIONAL LIMIT?
      IF APARM=0 THEN GOTO AT2         ! NO SKIP LIMIT CHECK
      IF (LEN+$(@STRN))> LIMIT THEN LEN_LIMIT-$(@STRN)! TRUNCATE
AT2:  FOR I _ 1 TO LEN DO THRU AAA     ! FOR ALL CHARS
         .B. _ ASTRB                   ! SOURCE STRING FOR GET
         .A. _ I                       ! CHAR CNT 
         ACHR _ GET                    ! GET THE CHAR 
         .B. _ @STRN                   ! SETUP TARGET STRING
         .A. _ ACHR                    ! PASS CHAR
 AAA:    PUT
      IF(STRN AND 1) THEN[\            ! IF ODD COUNT 
         .B._@STRN;\                   ! SETUP TO 
         .A._ 40K;\                    ! PAD WITH 1 BLANK 
         PUT;\                         ! DO IT
         STRN_STRN-1\                  ! SUBTRACT OFF OF COUNT
      ]                                !
      RETURN
      END                              !
      END 
END$
                                                                                                                                                                                                                                                          