IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 41375


Ignore:
Timestamp:
Jun 22, 2020, 10:41:29 AM (6 years ago)
Author:
eugene
Message:

add new function to insert raw FITS header line (e.g., copy from one header to another)

Location:
trunk/Ohana/src/libfits
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libfits/header/F_H_field.c

    r39926 r41375  
    143143}
    144144
     145int gfits_header_append_line_raw (Header *header, char *line) {
     146
     147  // line: input pointer to string of at least 80 chars
     148
     149  /* find the END of the header */
     150  char *p = gfits_header_field (header, "END", 1);
     151  if (p == NULL) return (FALSE);
     152
     153  /* is there enough space for 1 more line? */
     154  if (header[0].datasize - (p - (header[0].buffer)) < 2*FT_LINE_LENGTH) {
     155    header[0].datasize += FT_RECORD_SIZE;
     156    REALLOCATE (header[0].buffer, char, header[0].datasize);
     157    /* re-find the "END" marker, in case new memory block is used */
     158    p = gfits_header_field (header, "END", 1);
     159    if (p == NULL) return (FALSE);
     160    // fill in the region after the END line with spaces
     161    memset (p + FT_LINE_LENGTH, ' ', FT_RECORD_SIZE);
     162  }
     163
     164  /* push END line back 1 */
     165  memmove ((p + FT_LINE_LENGTH), p, FT_LINE_LENGTH);
     166  memcpy (p, line, FT_LINE_LENGTH);
     167  return TRUE;
     168}
     169
  • trunk/Ohana/src/libfits/include/gfitsio.h

    r41341 r41375  
    128128char   *gfits_header_field             PROTO((Header *header, char *field, int N));
    129129char   *gfits_header_lineno            PROTO((Header *header, off_t N));
     130int     gfits_header_append_line_raw   PROTO((Header *header, char *line));
    130131char   *gfits_keyword_end              PROTO((char *line));
    131132int     gfits_copy_header              PROTO((Header *in, Header *out));
Note: See TracChangeset for help on using the changeset viewer.