IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jun 22, 2011, 12:33:45 AM (15 years ago)
Author:
eugene
Message:

merged from eam_branches/ipp-20110505: allow managed memory (with linked list a la psLib); add csv to mana; allow read-only dvo databases

Location:
trunk/Ohana/src/libfits
Files:
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/libfits/Makefile

    r23724 r31663  
    5454$(TABL)/F_set_column.$(ARCH).o                  $(TABL)/F_get_column.$(ARCH).o   \
    5555$(TABL)/F_table_row.$(ARCH).o                   $(TABL)/F_free_T.$(ARCH).o       \
    56 $(TABL)/F_table_varlength.$(ARCH).o
     56$(TABL)/F_table_varlength.$(ARCH).o             $(TABL)/F_copy_T.$(ARCH).o
    5757
    5858EXTERN_OBJ = \
  • trunk/Ohana/src/libfits/include/gfitsio.h

    r29938 r31663  
    6363  Header                 *header;
    6464  char                   *buffer;
    65   off_t                   datasize;
    66   off_t                   validsize;
     65  off_t                   datasize; // size of the buffer (including block padding at the end)
     66  off_t                   validsize;  // size of the valid portion of the table (< validsize if file is short)
    6767} FTable;
    6868
     
    199199int     gfits_vtable_from_ftable       PROTO((FTable *ftable, VTable *vtable, off_t *row, off_t Nrow));
    200200int     gfits_write_table              PROTO((char *filename, FTable *ftable));
     201int     gfits_copy_ftable              PROTO((FTable *in, FTable *out));
     202int     gfits_copy_vtable              PROTO((VTable *in, VTable *out));
    201203
    202204int     gfits_create_Theader           PROTO((Header *header, char *type));
  • trunk/Ohana/src/libfits/matrix/F_copy_M.c

    r27435 r31663  
    33
    44/*********************** fits copy header ***********************************/
    5 int gfits_copy_matrix (Matrix *matrix1, Matrix *matrix2) {
     5int gfits_copy_matrix (Matrix *in, Matrix *out) {
    66
    77  int i;
    88
    9   matrix2[0].unsign   = matrix1[0].unsign;
    10   matrix2[0].bitpix   = matrix1[0].bitpix;
    11   matrix2[0].datasize = matrix1[0].datasize;
    12   matrix2[0].bzero    = matrix1[0].bzero;
    13   matrix2[0].bscale   = matrix1[0].bscale;
    14   matrix2[0].Naxes    = matrix1[0].Naxes;
     9  out[0].unsign   = in[0].unsign;
     10  out[0].bitpix   = in[0].bitpix;
     11  out[0].datasize = in[0].datasize;
     12  out[0].bzero    = in[0].bzero;
     13  out[0].bscale   = in[0].bscale;
     14  out[0].Naxes    = in[0].Naxes;
    1515  for (i = 0; i < FT_MAX_NAXES; i++)
    16     matrix2[0].Naxis[i] = matrix1[0].Naxis[i];
     16    out[0].Naxis[i] = in[0].Naxis[i];
    1717
    18   if (matrix2[0].buffer != NULL) free (matrix2[0].buffer);
    19   ALLOCATE (matrix2[0].buffer, char, matrix2[0].datasize);
     18  if (out[0].buffer != NULL) free (out[0].buffer);
     19  ALLOCATE (out[0].buffer, char, out[0].datasize);
    2020 
    21   memcpy (matrix2[0].buffer, matrix1[0].buffer, matrix2[0].datasize);
     21  memcpy (out[0].buffer, in[0].buffer, out[0].datasize);
    2222
    2323  return (TRUE);
Note: See TracChangeset for help on using the changeset viewer.