length(3I)

LENGTH - Returns the number of words transferred

As shipped in IRIX 6.5. First release of IRIX 6.5.

NAME
     LENGTH - Returns the number of words transferred

SYNOPSIS
     LENGTH ([I=]i)

IMPLEMENTATION
     UNICOS, UNICOS/mk, and IRIX systems

STANDARDS
     CF90 and MIPSpro 7 Fortran 90 compiler extension to Fortran 90

DESCRIPTION
     LENGTH returns the length (in words) of a BUFFER IN or BUFFER OUT
     statement transfer.  It accepts the following argument:

     i    Must be a nonnegative integer or Boolean value.  Represents a
          unit number.

          If i is an integer, i must be of KIND=8 on UNICOS and UNICOS/mk
          systems, or of KIND=4 on IRIX systems.

     LENGTH is an elemental function.  The name of this intrinsic cannot be
     passed as an argument.

NOTES
     On UNICOS and UNICOS/mk systems, LENGTH can be called as either an
     external subprogram or as an intrinsic procedure.

RETURN VALUES
     The value returned is of type default integer.

     If the LENGTH function is called during the execution of asynchronous
     I/O with BUFFER IN or BUFFER OUT, the execution sequence is delayed
     until the transfer is complete.  LENGTH then returns the number of
     words successfully transferred.  On UNICOS and UNICOS/mk systems, the
     length is specified in Cray words.  On IRIX systems, the length is
     specified in the default word size.

     Programs that transfer characters or data from a medium that supports
     partial-word I/O cannot detect partial-word transfers.  The return
     value is rounded up to a word count in these cases.

     The return value is 0 under the following two conditions:

     * An end-of-file or error occurs

     * It is following a read or write of a zero-length record.

     UNIT(3I) should be used prior to LENGTH to properly distinguish these
     previous two cases.

EXAMPLES
          PROGRAM PGM
             DIMENSION V(16384)
          10 BUFFER IN (32,-1) (V(1),V(16384))
             X= UNIT(32)
             K= LENGTH(32)
             IF (X .GE. 0.0) GOTO 14
          11 DO 12  I=1,K,1
          12 IF (V(I) .EQ. 'KEY') GOTO 13
             IF (X .EQ. -1.0) GOTO 10
             STOP
          13 ...
             ...
          14 CONTINUE
             END

SEE ALSO
     UNIT(3I)

     Intrinsic Procedures Reference Manual, publication SR-2138, for the
     printed version of this man page.