IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Mar 11, 2016, 10:23:42 PM (10 years ago)
Author:
eugene
Message:

modify to pass with extremely pedantic build; force consistency for signed vs unsigned and int sizes; various relastro updates

Location:
trunk/Ohana
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana

  • trunk/Ohana/src/libfits/matrix/F_uncompress_data.c

    r38441 r39457  
    22# include <gfitsio.h>
    33# include <zlib.h>
    4 
    5 /* functions defined in ricecomp.c */
    6 int fits_rcomp(int a[], int nx, unsigned char *c, int clen, int nblock);
    7 int fits_rdecomp (unsigned char *c, int clen, unsigned int array[], int nx, int nblock);
    8 int fits_rdecomp_short (unsigned char *c, int clen, unsigned short array[], int nx, int nblock);
    9 int fits_rdecomp_byte (unsigned char *c, int clen, unsigned char array[], int nx, int nblock);
    10 
    11 /* functions defined in fits_hcompress.c */
    12 # define LONGLONG long long
    13 int fits_hcompress(int *a, int ny, int nx, int scale, char *output, long *nbytes, int *status);
    14 int fits_hcompress64(LONGLONG *a, int ny, int nx, int scale, char *output, long *nbytes, int *status);
    15 
    16 /* functions defined in fits_hdeccompress.c */
    17 int fits_hdecompress(unsigned char *input, int smooth, int *a, int *ny, int *nx, int *scale, int *status);
    18 int fits_hdecompress64(unsigned char *input, int smooth, LONGLONG *a, int *ny, int *nx, int *scale, int *status);
    19 
    20 /* functions defined in pliocomp.c */
    21 int pl_p2li (int *pxsrc, int xs, short *lldst, int npix);
    22 int pl_l2pi (short *ll_src, int xs, int *px_dst, int npix);
    23 
    24 /* functions defined in gzip.c */
    25 int gfits_gz_stripheader (unsigned char *data, int *ndata);
    26 int gfits_uncompress (Bytef *dest, uLongf *destLen, const Bytef *source, uLong sourceLen);
     4# include <gfits_compress.h>
    275
    286# define ESCAPE(RET) { fprintf (stderr, "gzip error in %s @ %s:%d\n", __func__, __FILE__, __LINE__); return (RET); }
    297
    30 int gfits_uncompress_data (char *zdata, int Nzdata, char *cmptype, char **optname, char **optvalue, int Nopt, char *outdata, int *Nout, int Nout_alloc, int out_pixsize) {
     8int gfits_uncompress_data (char *zdata, unsigned long Nzdata, char *cmptype, char **optname, char **optvalue, int Nopt, char *outdata, unsigned long int *Nout, unsigned long int Nout_alloc, int out_pixsize) {
    319
    3210  int status;
     
    7856
    7957    int status = FALSE;
    80     int Npix = *Nout / out_pixsize;
    81     int k;
     58    unsigned long int Npix = *Nout / out_pixsize;
    8259
    8360    switch (out_pixsize) {
     
    8865      case 2:
    8966        if (0) {
    90           fprintf (stderr, "Nout: %d, Nrawpix: %d\n", Nzdata, Npix);
     67          unsigned long int k;
     68          fprintf (stderr, "Nout: %lu, Nrawpix: %lu\n", Nzdata, Npix);
    9169          fprintf (stderr, "cmp out: ");
    9270          for (k = 0; k < Nzdata; k++) { fprintf (stderr, "0x%02hhx ", zdata[k]); }
     
    11290 
    11391  if (!strcasecmp(cmptype, "PLIO_1")) {
     92    int Ntru = *Nout;
    11493    int Npix;
    115     Npix = pl_l2pi ((short *) zdata, 1, (int *) outdata, *Nout);
    116     if (Npix != *Nout) {
     94    Npix = pl_l2pi ((short *) zdata, 1, (int *) outdata, Ntru);
     95    if (Npix != Ntru) {
    11796      fprintf (stderr, "error in plio decompression\n");
    11897      return (FALSE);
     
    122101
    123102  if (!strcasecmp(cmptype, "HCOMPRESS_1")) {
     103    unsigned long int Ntru = *Nout;
    124104    int Nx, Ny, scale;
    125105    status = 0;
     
    132112    // fprintf (stderr, "decompression yields image %d x %d (scale: %d)\n", Nx, Ny, scale);
    133113   
    134     if (Nx * Ny != *Nout) {
     114    unsigned long Npix = Nx * Ny;
     115    if (Npix != Ntru) {
    135116      fprintf (stderr, "error in hdecompress: mismatched output size\n");
    136117      return (FALSE);
Note: See TracChangeset for help on using the changeset viewer.