IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 16, 2010, 6:44:32 AM (16 years ago)
Author:
eugene
Message:

updates for large files (fseeok, sizes to off_t, etc)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/largefiles.20100314/Ohana/src/opihi/cmd.data/wd.c

    r20652 r27295  
    7575  /* save the (float) version, write out a temporary buffer */
    7676  temp_matrix = buf[0].matrix;
    77   ALLOCATE (temp_matrix.buffer, char, MAX(1, temp_matrix.size));
    78   memcpy (temp_matrix.buffer, buf[0].matrix.buffer, temp_matrix.size);
     77  ALLOCATE (temp_matrix.buffer, char, MAX(1, temp_matrix.datasize));
     78  memcpy (temp_matrix.buffer, buf[0].matrix.buffer, temp_matrix.datasize);
    7979  temp_header = buf[0].header;
    80   ALLOCATE (temp_header.buffer, char, MAX(1, temp_header.size));
    81   memcpy (temp_header.buffer, buf[0].header.buffer, temp_header.size);
     80  ALLOCATE (temp_header.buffer, char, MAX(1, temp_header.datasize));
     81  memcpy (temp_header.buffer, buf[0].header.buffer, temp_header.datasize);
    8282
    8383  if (temp_header.Naxes) {
     
    9494    Header Xhead;
    9595    FILE *f;
     96    off_t nbytes;
    9697    int status, Nextend;
    9798
     
    125126   
    126127    /* position to begining of file to write header */
    127     fseek (f, 0, SEEK_SET);
    128     status = fwrite (Xhead.buffer, 1, Xhead.size, f);
    129     if (status != Xhead.size) {
     128    fseeko (f, 0LL, SEEK_SET);
     129    nbytes = fwrite (Xhead.buffer, 1, Xhead.datasize, f);
     130    if (nbytes != Xhead.datasize) {
    130131      gprint (GP_ERR, "ERROR: failed writing data to image header\n");
    131132      status = FALSE;
     
    144145
    145146    /* position to end of file to write new extend */
    146     fseek (f, 0, SEEK_END);
    147     status = fwrite (temp_header.buffer, 1, temp_header.size, f);
     147    fseeko (f, 0LL, SEEK_END);
     148    nbytes = fwrite (temp_header.buffer, 1, temp_header.datasize, f);
    148149    fclose (f);
    149     if (status != temp_header.size) {
     150    if (nbytes != temp_header.datasize) {
    150151      gprint (GP_ERR, "failed to write file\n");
    151152      status = FALSE;
Note: See TracChangeset for help on using the changeset viewer.