Index of Functions: A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 
Index Page
spcrnl

Table of contents
Procedure
Abstract
Required_Reading
Keywords
Declarations
Brief_I/O
Detailed_Input
Detailed_Output
Parameters
Exceptions
Files
Particulars
Examples
Restrictions
Literature_References
Author_and_Institution
Version

Procedure

     SPCRNL ( SPK and CK, read next line of comments )

     ENTRY SPCRNL ( LINE, EOC )

Abstract

     Continue reading lines from the comment area of a binary
     SPK or CK file specified by the most recent call to
     the routine SPCRFL.

Required_Reading

     SPC

Keywords

     FILES

Declarations

    IMPLICIT NONE

    CHARACTER*(*)         LINE
    LOGICAL               EOC

Brief_I/O

     VARIABLE  I/O  DESCRIPTION
     --------  ---  --------------------------------------------------
     LINE       O   Next line of text from the comment area.
     EOC        O   End of comments?

Detailed_Input

     None.

Detailed_Output

     LINE     is the next line of text from the comment area of
              the SPK or CK file. LINE may be blank.
              SPCRFL reads the first line of comments from
              a specified binary SPK or CK file. Once SPCRFL
              has been called, SPCRNL may be called repetitively
              to read the next lines of the comment area until
              the end.

     EOC      is .TRUE. if there are no more comments to read.
              Otherwise, EOC is .FALSE.

Parameters

     None.

Exceptions

     1)  If SPCRFL is not called prior to calling SPCRNL, the error
         SPICE(SPCRFLNOTCALLED) is signaled.

     2)  If the most recent call to SPCRFL returned EOC with the value
         true, then SPCRNL will return EOC with the same value.

     3)  If EOC is .TRUE., LINE will be blank.

     4)  If the first line of comments in the comment area is longer
         than the declared length of LINE, it will be truncated to
         fit into the variable.

     5)  If there is a problem reading from the comment area, the error
         SPICE(FILEREADFAILED) is signaled.

     6)  If the comments are not in the correct format, the error
         SPICE(FORMATERROR) is signaled.

Files

     The handle of the binary SPK or CK is specified with the routine
     SPCRFL.

Particulars

     The structure of SPK and CK files accommodates comments in
     addition to data. The following five routines are available
     for accessing the comment area of a binary SPK or CK file:

           SPCAC           add comments

           SPCEC           extract comments

           SPCDC           delete comments

           SPCRFL          read first line of comments

           SPCRNL          read next line of comments

     Note that comments must consist of only text, that is, printable
     ASCII characters, specifically ASCII 32-126. This excludes
     tabs (ASCII 9) and control characters.

     The SPC conversion routines---SPCB2A, SPCA2B, SPCB2T, and
     SPCT2B---include these comments when converting SPK and CK
     files between binary and text formats.

Examples

     Suppose we have a binary SPK file called A.BSP. The following
     code fragment searches the comment area for a lines containing
     the character string `SOURCE' and writes the lines to standard
     output.

      C
      C     Open the binary SPK file and get its handle.
      C
            CALL DAFOPR ( 'A.BSP', HANDLE )

      C
      C     Read the first line of comments.
      C
            CALL SPCRFL ( HANDLE, LINE, EOC )

      C
      C     Search for the string 'SOURCE' in the line. If
      C     it is found, write the line. Then get the next
      C     line of comments and repeat as long as we're not
      C     at the end.
      C
            DO WHILE ( .NOT. EOC )

               IF (  POS ( LINE, 'SOURCE', 1 ) .NE. 0  ) THEN
                  WRITE (*,*) LINE
               END IF

               CALL SPCRNL ( LINE, EOC )

            END DO

Restrictions

     1)  This routine assumes that the comment area of the binary SPK
         or CK file contains only text stored by SPCAC. Comments
         written any other way may not be handled properly.

Literature_References

     None.

Author_and_Institution

     J. Diaz del Rio    (ODC Space)
     K.R. Gehringer     (JPL)
     J.E. McLean        (JPL)
     W.L. Taber         (JPL)
     F.S. Turner        (JPL)

Version

    SPICELIB Version 2.1.0, 17-AUG-2021 (JDR)

        Added IMPLICIT NONE statement.

        Edited the header to comply with NAIF standard.

    SPICELIB Version 2.0.0, 16-NOV-2001 (FST)

        Updated this entry point to utilize the handle manager
        interfaces. See the $Revisions section of the subroutine
        header above for a detailed discussion of the changes.

    SPICELIB Version 1.1.0, 27-JUL-1992 (KRG)

        Removed a call to the SPICELIB subroutine SUFFIX() which
        was used to join two parts of a comment line that may be
        broken across two comment records. The problem was, SUFFIX
        cannot know about leading/embedded blanks when it appends, so
        blanks were inadvertently removed when they happened to be
        stored at the end of comment record.

        Added the variable TMPLEN to record the length of the first
        part of a comment line that may be broken across comment
        records.

    SPICELIB Version 1.0.1, 10-MAR-1992 (WLT)

        Comment section for permuted index source lines was added
        following the header.

    SPICELIB Version 1.0.0, 15-APR-1991 (JEM)
Fri Dec 31 18:36:49 2021