IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 24, 2010, 11:22:25 AM (16 years ago)
Author:
eugene
Message:

large update merging in changes for Ohana to support large files

Location:
trunk/Ohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

  • trunk/Ohana/src/libfits/table/F_read_TH.c

    r15743 r27435  
    77  FILE *f;
    88  Header header;
    9   int status, Nbytes;
     9  int status;
     10  off_t Nbytes;
    1011 
    1112  status = gfits_read_header (filename, &header);
     
    2324
    2425  Nbytes = gfits_data_size (&header);
    25   fseek (f, Nbytes, SEEK_SET);
     26  fseeko (f, Nbytes, SEEK_SET);
    2627  gfits_free_header (&header);
    2728
     
    3637 
    3738  char *p;
    38   int i, done, status, Nbytes;
     39  int i, done, status;
     40  off_t Nbytes;
    3941 
    40   Theader[0].size = 0;
     42  Theader[0].datasize = 0;
    4143  done = FALSE;
    4244  ALLOCATE (Theader[0].buffer, char, 1);
     
    4446  for (i = 0; !done; i++) {
    4547    REALLOCATE (Theader[0].buffer, char, (i + 1)*FT_RECORD_SIZE);
    46     Nbytes = fread (&Theader[0].buffer[i*FT_RECORD_SIZE],
    47                     sizeof(char), FT_RECORD_SIZE, f);
     48    Nbytes = fread (&Theader[0].buffer[i*FT_RECORD_SIZE], sizeof(char), FT_RECORD_SIZE, f);
    4849    if (Nbytes != FT_RECORD_SIZE) {
    4950      perror ("fits matrix read error");
    5051    }
    5152
    52     Theader[0].size += Nbytes;
    53     if (Nbytes != FT_RECORD_SIZE)
     53    Theader[0].datasize += Nbytes;
     54    if (Nbytes != FT_RECORD_SIZE) {
    5455      done = TRUE;
     56    }
    5557    p = gfits_header_field (Theader, "END", 1);
    5658    if (p != NULL)
     
    6870  if (!status) return (FALSE);
    6971                                                           
    70   gfits_scan (Theader,  "NAXIS1", "%d", 1, &Theader[0].Naxis[0]);
    71   gfits_scan (Theader,  "NAXIS2", "%d", 1, &Theader[0].Naxis[1]);
    72   gfits_scan (Theader,  "NAXIS3", "%d", 1, &Theader[0].Naxis[2]);
    73   gfits_scan (Theader,  "NAXIS4", "%d", 1, &Theader[0].Naxis[3]);
    74   gfits_scan (Theader,  "NAXIS5", "%d", 1, &Theader[0].Naxis[4]);
    75   gfits_scan (Theader,  "NAXIS6", "%d", 1, &Theader[0].Naxis[5]);
    76   gfits_scan (Theader,  "NAXIS7", "%d", 1, &Theader[0].Naxis[6]);
    77   gfits_scan (Theader,  "NAXIS8", "%d", 1, &Theader[0].Naxis[7]);
    78   gfits_scan (Theader,  "NAXIS9", "%d", 1, &Theader[0].Naxis[8]);
    79   gfits_scan (Theader, "NAXIS10", "%d", 1, &Theader[0].Naxis[9]);
     72  gfits_scan (Theader,  "NAXIS1", "%lld", 1, (long long *) &Theader[0].Naxis[0]);
     73  gfits_scan (Theader,  "NAXIS2", "%lld", 1, (long long *) &Theader[0].Naxis[1]);
     74  gfits_scan (Theader,  "NAXIS3", "%lld", 1, (long long *) &Theader[0].Naxis[2]);
     75  gfits_scan (Theader,  "NAXIS4", "%lld", 1, (long long *) &Theader[0].Naxis[3]);
     76  gfits_scan (Theader,  "NAXIS5", "%lld", 1, (long long *) &Theader[0].Naxis[4]);
     77  gfits_scan (Theader,  "NAXIS6", "%lld", 1, (long long *) &Theader[0].Naxis[5]);
     78  gfits_scan (Theader,  "NAXIS7", "%lld", 1, (long long *) &Theader[0].Naxis[6]);
     79  gfits_scan (Theader,  "NAXIS8", "%lld", 1, (long long *) &Theader[0].Naxis[7]);
     80  gfits_scan (Theader,  "NAXIS9", "%lld", 1, (long long *) &Theader[0].Naxis[8]);
     81  gfits_scan (Theader, "NAXIS10", "%lld", 1, (long long *) &Theader[0].Naxis[9]);
    8082
    8183  return (TRUE);
Note: See TracChangeset for help on using the changeset viewer.