IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 36749


Ignore:
Timestamp:
May 14, 2014, 6:00:17 AM (12 years ago)
Author:
eugene
Message:

merge KiiPicture changes from ps2-tc3-20130727

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20140423/Ohana/src/libkapa/src/KiiPicture.c

    r34088 r36749  
    2121int KiiNewPicture1D (int fd, KiiImage *image, KapaImageData *data, Coords *coords) {
    2222
    23   int Nwrite, Npix, Ncolors, size;
     23  int Ncolors;
     24  off_t Nwrite, Npix, size;
    2425  float min, max;
    2526
     
    3637  KiiSendMessage (fd, "%8d %8d", image[0].Nx, image[0].Ny);
    3738  KiiSendMessage (fd, "%f %f %s %s", data[0].zero, data[0].range, data[0].name, data[0].file);
    38   KiiSendMessage (fd, "%f %f %d ", min, max, size);
     39  KiiSendMessage (fd, "%f %f "OFF_T_FMT" ", min, max, size);
    3940  KiiSendMessage (fd, "%f %f %g %g %g ", coords[0].crval1, coords[0].crpix1, coords[0].cdelt1, coords[0].pc1_1, coords[0].pc1_2);
    4041  KiiSendMessage (fd, "%f %f %g %g %g ", coords[0].crval2, coords[0].crpix2, coords[0].cdelt2, coords[0].pc2_1, coords[0].pc2_2);
     
    4243
    4344  /* send the image data */
    44   Nwrite = write (fd, image[0].data1d, size);
    45   if (Nwrite != size) {
    46     fprintf (stderr, "error sending picture to kapa\n");
    47     return (FALSE);
     45  off_t bytes_left = size;
     46  while (bytes_left > 0) {
     47    Nwrite = write (fd, image[0].data1d, bytes_left);
     48    if (Nwrite == 0) {
     49      fprintf (stderr, "unable to send more data to kapa?\n");
     50      return FALSE;
     51    }
     52    if (Nwrite < 0) {
     53      if (errno == EAGAIN) continue;
     54      if (errno == EWOULDBLOCK) continue;
     55      perror ("KiiNewPicture1D:");
     56      return FALSE;
     57    }
     58    bytes_left -= Nwrite;
    4859  }
    4960
     
    114125int KiiNewPicture2D (int fd, KiiImage *image, KapaImageData *data, Coords *coords) {
    115126
    116   int j;
    117   int Nwrite, Nbytes, Npix, Ncolors, size;
     127  int Ncolors;
     128  off_t j, Nwrite, Nbytes, Npix, size;
    118129  float min, max;
    119130
     
    130141  KiiSendMessage (fd, "%8d %8d", image[0].Nx, image[0].Ny);
    131142  KiiSendMessage (fd, "%f %f %s %s", data[0].zero, data[0].range, data[0].name, data[0].file);
    132   KiiSendMessage (fd, "%f %f %d ", min, max, size);
     143  KiiSendMessage (fd, "%f %f "OFF_T_FMT" ", min, max, size);
    133144  KiiSendMessage (fd, "%f %f %g %g %g ", coords[0].crval1, coords[0].crpix1, coords[0].cdelt1, coords[0].pc1_1, coords[0].pc1_2);
    134145  KiiSendMessage (fd, "%f %f %g %g %g ", coords[0].crval2, coords[0].crpix2, coords[0].cdelt2, coords[0].pc2_1, coords[0].pc2_2);
Note: See TracChangeset for help on using the changeset viewer.