	INTEGER*4 FUNCTION LENGTH (STRING) !	SUBROUTINE LENGTH
	CHARACTER *(*) STRING
C************************************************************************
C***
C***	THIS FUNCTION DIFFERS FROM THE STANDARD LEN FUNCTION ONLY
C***	IN THAT IT RETURNS THE POSITION OF THE LAST NON-BLANK,
C***	NON-TAB, OR NON-NULL CHARACTER IN THE STRING, RATHER THAN 
C***	THE CAPACITY OF THE STRING VARIABLE.
C***
C************************************************************************
C*MCT
	CHARACTER*1 TAB  /'09'X/
	CHARACTER*1 NULL /'00'X/
C
C***	FIRST DETERMINE THE ACTUAL SIZE OF THE STRING VARIABLE
	I = LEN (STRING)
	IF (I .LE. 0) THEN
	    LENGTH = 0
	    RETURN
	ELSE
	ENDIF
C
10      DO WHILE (((STRING(I:I) .EQ. ' ')   .OR.
	1	   (STRING(I:I) .EQ. TAB)   .OR.
	2	   (STRING(I:I) .EQ. NULL)) .AND.
	3	  (I .GT. 0))
	    I = I - 1
	END DO
	LENGTH = I
	RETURN
	END

