Previous: utidi Up: ../plot79_u.html Next: utidr
SUBROUTINE UTIDL (LOGVAL,NEXT,ERROR,FIELD,LENGTH,FLUSH) C$ (Decode LOGICAL Value from Character Form) C$ Convert a LOGICAL value represented by one of the following C$ strings C$ C$ T F TRUE FALSE .T. .F. .TRUE. .FALSE. C$ C$ in FIELD(*) to internal format. Unlike FORTRAN formatted C$ input, blanks are significant. To permit free-form input, C$ leading blanks and tabs are ignored, and the conversion C$ will continue until the end of one of the above strings is C$ reached, or else the end of FIELD(*) is reached. C$ Lower-case letters are acceptable. A pointer is set to the C$ next unprocessed character in FIELD(*) (which might be C$ FIELD(LENGTH+1)) so that the caller may check for valid C$ syntax. The arguments are: C$ C$ LOGVAL.........LOGICAL value (returned). C$ NEXT...........On exit, index of the character in FIELD(*) C$ which follows the last character processed. C$ On input, it should point to the first C$ character to be processed. C$ ERROR.......... .TRUE. - No valid characters found. LOGVAL C$ is set .FALSE. on return. C$ .FALSE. - No error occurred. C$ FIELD(*).......Character string to be decoded (A1 format). C$ LENGTH.........Number of characters in FIELD(*). C$ FLUSH.......... .TRUE. - Flush any leading invalid C$ characters. C$ .FALSE. - Do not flush leading invalid C$ characters. C$ C$ It is up to the caller to verify that any trailing C$ characters are in fact blanks. The FLUSH option is useful C$ to allow successive calls to retrieve LOGICAL values C$ separated by commas, spaces, etc. The caller must realize, C$ however, that this might cause skipping over C$ incorrectly-coded items (e.g. "T,T,F,G,T" for "T,T,F,F,T"). C$ (08-APR-82)