
C++*********************************************************************
C
C SHRINKQ.F                 ADAPTED FROM SHRINK.FOR FOR CHAR. AUG 89 al
C
C **********************************************************************
C=* FROM: SPIDER - MODULAR IMAGE PROCESSING SYSTEM.   AUTHOR: J.FRANK  *
C=* Copyright (C) 1985-2005  Health Research Inc.                      *
C=*                                                                    *
C=* HEALTH RESEARCH INCORPORATED (HRI),                                *   
C=* ONE UNIVERSITY PLACE, RENSSELAER, NY 12144-3455.                   *
C=*                                                                    *
C=* Email:  spider@wadsworth.org                                       *
C=*                                                                    *
C=* This program is free software; you can redistribute it and/or      *
C=* modify it under the terms of the GNU General Public License as     *
C=* published by the Free Software Foundation; either version 2 of the *
C=* License, or (at your option) any later version.                    *
C=*                                                                    *
C=* This program is distributed in the hope that it will be useful,    *
C=* but WITHOUT ANY WARRANTY; without even the implied warranty of     *
C=* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU  *
C=* General Public License for more details.                           *
C=*                                                                    *
C=* You should have received a copy of the GNU General Public License  *
C=* along with this program; if not, write to the                      *
C=* Free Software Foundation, Inc.,                                    *
C=* 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.      *
C=*                                                                    *
C **********************************************************************
C
C    SHRINKQ:      SUBROUTINE TO SHRINK STRING BY IGNORING BLANKS AND
C                  TAB CHARACTERS
C
C    PARAMETERS:   INSTR      INPUT STRING TO BE SHRANK       (INPUT)
C                  LENIN      LENGTH OF INPUT STRING.  KEPT FOR
C                             COMPATIBILIY WITH OLD CALLS     (INPUR)
C                  OUTSTR     OUPUT SHRUNKEN STRING           (RETURNED)
C                  LENOUT     LENGTH OF SHRUNKEN STRING       (RETURNED)
C
C **********************************************************************

	SUBROUTINE SHRINKQ(INSTR,LENIN,OUTSTR,LENOUT)

        CHARACTER(LEN=*) :: INSTR,OUTSTR
        CHARACTER(LEN=1) :: CTEMP

        LENMAX = LEN(OUTSTR)
        LENS   = LENIN
        IF (LENS .EQ. 0) LENS = LEN(INSTR)

        LENOUT = 0
	DO  I=1,LENS
          CTEMP = INSTR(I:I)
          IF ((CTEMP .NE. ' ' .AND. CTEMP .NE. CHAR(9)) .AND. 
     &         LENOUT .LT. LENMAX) THEN
             LENOUT                = LENOUT + 1
             OUTSTR(LENOUT:LENOUT) = CTEMP
          ENDIF
	ENDDO

        IF (LENOUT. LT. LENMAX) THEN
C          PUT BLANKS AT END OF OUTSTR
           OUTSTR(LENOUT+1:LENMAX) = ' '
        ENDIF

	RETURN
	END
