	INTEGER FUNCTION TT_OUT_NUMSTR(NUM_STRING,LEN_NUM)
C
C  Subroutine to output (noformat) a byte string  (numeric array) to
C	current TT:
C
C  Form of call is:	istatus = TT_OUT_NUMSTR(num_string,len_num)
C
C  Where	num_string	is byte or numeric array containing characters
C		len_num		is number of characters to output; if <0 then
C				   array is assumed to be null-terminated and
C				   must have length <= 1024 characters
C				   including terminator
C
C  AUTHOR:  Randall Rushe 	11/27/81
C
	BYTE		NUM_STRING(*)
	INTEGER		LEN_NUM

	INTEGER		CHANNEL
	INTEGER*4	SYS$QIOW,TT_ASSIGN
	EXTERNAL	IO$_WRITEVBLK,IO$M_NOFORMAT,SS$_IVBUFLEN

	DATA 	CHANNEL	/0/
C
C  Check length of passed string
C
	IF(LEN_NUM.EQ.0)THEN				! null string
	    TT_OUT_NUMSTR = 1
	    RETURN
	ELSE IF(LEN_NUM.LT.0)THEN			! null-terminated
	    DO 100,I=1,1024
		IF(NUM_STRING(I).EQ.0)THEN
		    LENGTH = I
		    GOTO 200
		ENDIF
100	    CONTINUE
	    TT_OUT_NUMSTR = %LOC(SS$_IVBUFLEN)
	ELSE						! normal string
	   LENGTH = LEN_NUM
	ENDIF
C
C  Assign a channel to TT: if needed
C
200	IF(CHANNEL.EQ.0)THEN
	    TT_OUT_NUMSTR=TT_ASSIGN(CHANNEL)
	    IF(.NOT.TT_OUT_NUMSTR)THEN			! error
		RETURN
	    ENDIF
	ENDIF
C
C  Do the QIOW
C
20	TT_OUT_NUMSTR=SYS$QIOW(,%VAL(CHANNEL),
	1	%VAL(%LOC(IO$_WRITEVBLK).OR.%LOC(IO$M_NOFORMAT)),
	1	,,,NUM_STRING,%VAL(LENGTH),,,,)
	RETURN
	END
