[packages/hdf-eos5] - updated to 5.1.16 - added types,bufsize patches - now builds with hdf5 1.10.x, but tests still fai
qboosh
qboosh at pld-linux.org
Tue Dec 10 18:43:55 CET 2019
commit 0d3eda21845e8129150e14ae049a53e419221de7
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date: Tue Dec 10 18:44:27 2019 +0100
- updated to 5.1.16
- added types,bufsize patches
- now builds with hdf5 1.10.x, but tests still fail
hdf-eos5-bufsize.patch | 39 ++
hdf-eos5-types.patch | 999 +++++++++++++++++++++++++++++++++++++++++++++++++
hdf-eos5.spec | 26 +-
3 files changed, 1054 insertions(+), 10 deletions(-)
---
diff --git a/hdf-eos5.spec b/hdf-eos5.spec
index 1a187e3..f484acd 100644
--- a/hdf-eos5.spec
+++ b/hdf-eos5.spec
@@ -6,25 +6,29 @@
Summary: HDF-EOS 5 library
Summary(pl.UTF-8): Biblioteka HDF-EOS 5
Name: hdf-eos5
-Version: 5.1.15
-Release: 3
+Version: 5.1.16
+Release: 1
License: MIT-like
Group: Libraries
-Source0: ftp://edhs1.gsfc.nasa.gov/edhs/hdfeos5/latest_release/HDF-EOS%{version}.tar.Z
-# Source0-md5: 5d607a13dd42e559bfc90e278a8ec919
+Source0: https://observer.gsfc.nasa.gov/ftp/edhs/hdfeos5/latest_release/HDF-EOS%{version}.tar.Z
+# Source0-md5: c4a3286f38a2faafc840017af4bd39d6
# needed for auto* rebuild
-Source1: ftp://edhs1.gsfc.nasa.gov/edhs/hdfeos5/latest_release/HDF-EOS%{version}_TESTDRIVERS.tar.Z
-# Source1-md5: 51d17fe1f0673d71f5a95ed2c4ffff30
+Source1: https://observer.gsfc.nasa.gov/ftp/edhs/hdfeos5/latest_release/HDF-EOS%{version}_TESTDRIVERS.tar.Z
+# Source1-md5: 498ca8c6634c391d38e126450d8d218d
Patch0: %{name}-cc.patch
Patch1: %{name}-link.patch
Patch2: %{name}-tests.patch
+Patch3: %{name}-types.patch
+Patch4: %{name}-bufsize.patch
URL: http://hdfeos.org/software/library.php#HDF-EOS5
BuildRequires: autoconf >= 2.59
BuildRequires: automake
-BuildRequires: hdf5-devel
+BuildRequires: hdf5-devel >= 1.8.19
BuildRequires: libtool
-%{?with_szip:BuildRequires: szip-devel}
+%{?with_szip:BuildRequires: szip-devel >= 2.1.1}
BuildRequires: zlib-devel
+Requires: hdf5 >= 1.8.19
+%{?with_szip:Requires: szip >= 2.1.1}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%description
@@ -52,8 +56,8 @@ Summary: Header files for HDF-EOS 5 library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki HDF-EOS 5
Group: Development/Libraries
Requires: %{name} = %{version}-%{release}
-Requires: hdf5-devel
-%{?with_szip:Requires: szip-devel}
+Requires: hdf5-devel >= 1.8.19
+%{?with_szip:Requires: szip-devel >= 2.1.1}
Requires: zlib-devel
%description devel
@@ -79,6 +83,8 @@ Statyczna biblioteka HDF-EOS 5.
%patch0 -p1
%patch1 -p1
%patch2 -p1
+%patch3 -p1
+%patch4 -p1
%build
%{__libtoolize}
diff --git a/hdf-eos5-bufsize.patch b/hdf-eos5-bufsize.patch
new file mode 100644
index 0000000..f445872
--- /dev/null
+++ b/hdf-eos5-bufsize.patch
@@ -0,0 +1,39 @@
+sizeof(char*) obviously doesn't work for C string...
+--- hdfeos5/src/GDapi.c.orig 2017-11-13 17:02:42.000000000 +0100
++++ hdfeos5/src/GDapi.c 2019-12-10 16:29:45.406400082 +0100
+@@ -15,6 +15,8 @@
+ #include <ease.h>
+ #include <math.h>
+
++#define HE5_EN_FILENAME_LEN 300
++
+ #define HE5_GRIDOFFSET 671088642 /* (2**26)*10 + 2 */
+ #define HE5_NGRID 400
+ #define HE5_NGRIDREGN 512
+@@ -14921,8 +14927,8 @@
+ if (projcode != HE5_GCTP_GEO)
+ {
+
+- eastFile = (char *) malloc(300*sizeof(char));
+- northFile = (char *) malloc(300*sizeof(char));
++ eastFile = (char *) malloc(HE5_EN_FILENAME_LEN*sizeof(char));
++ northFile = (char *) malloc(HE5_EN_FILENAME_LEN*sizeof(char));
+
+ HE5_GDgetEastAndNorthFiles(eastFile,northFile);
+
+@@ -29887,11 +29893,11 @@
+ /*strcpy(lastables, ptr);*/
+
+ #if defined(CYGWIN) || defined(LINUX) || defined(LINUX32) || defined(LINUX64) || defined(MACINTEL) || defined(MACINTEL32) || defined(MACINTEL64) || defined(DECALPHA)
+- snprintf( eastFile, sizeof(eastFile),"%s/nad27sp_le", lastables ); /* use littlt endian binary files */
+- snprintf( northFile, sizeof(northFile),"%s/nad83sp_le", lastables );
++ snprintf( eastFile, HE5_EN_FILENAME_LEN,"%s/nad27sp_le", lastables ); /* use littlt endian binary files */
++ snprintf( northFile, HE5_EN_FILENAME_LEN,"%s/nad83sp_le", lastables );
+ #else
+- snprintf( eastFile, sizeof(eastFile), "%s/nad27sp_be", lastables ); /* use big endian binary files */
+- snprintf( northFile,sizeof(northFile), "%s/nad83sp_be", lastables );
++ snprintf( eastFile, HE5_EN_FILENAME_LEN, "%s/nad27sp_be", lastables ); /* use big endian binary files */
++ snprintf( northFile,HE5_EN_FILENAME_LEN, "%s/nad83sp_be", lastables );
+ #endif
+
+
diff --git a/hdf-eos5-types.patch b/hdf-eos5-types.patch
new file mode 100644
index 0000000..e254f64
--- /dev/null
+++ b/hdf-eos5-types.patch
@@ -0,0 +1,999 @@
+--- hdfeos5/gctp/src/gctp.c.orig 2019-12-09 16:33:53.493125031 +0100
++++ hdfeos5/gctp/src/gctp.c 2019-12-09 16:33:57.559769667 +0100
+@@ -45,8 +45,8 @@
+ static long outdat[MAXPROJ + 1]; /* output dataum array */
+ static long outzn[MAXPROJ + 1]; /* output zone array */
+ static double pdout[MAXPROJ + 1][15]; /* output projection parm array */
+-static long (*for_trans[MAXPROJ + 1])();/* forward function pointer array*/
+-static long (*inv_trans[MAXPROJ + 1])();/* inverse function pointer array*/
++static int (*for_trans[MAXPROJ + 1])();/* forward function pointer array*/
++static int (*inv_trans[MAXPROJ + 1])();/* inverse function pointer array*/
+
+ /* Table of unit codes as specified by state
+ laws as of 2/1/92 for NAD 1983 State Plane
+@@ -56,6 +56,13 @@
+ static long NADUT[134] = {1, 5, 1, 1, 5, 1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 1, 2, 2,
+ 1, 1, 5, 2, 1, 2, 5, 1, 2, 2, 2, 1, 1, 1, 5, 2, 1, 5,
+ 2, 2, 5, 2, 1, 1, 5, 2, 2, 1, 2, 1, 2, 2, 1, 2, 2, 2};
++
++int init(long ipr, long jpr, char *efile, char *pfile);
++long untfz(long inunit, long outunit, double *factor);
++void close_file(void);
++int inv_init(int insys, int inzone, double *inparm, int indatum, char *fn27, char *fn83, int *iflg, int (*inv_trans[])(double, double, double*, double*));
++int for_init(int outsys, int outzone, double *outparm, int outdatum, char *fn27, char *fn83, int *iflg, int (*for_trans[])(double, double, double *, double *));
++
+ /*
+ static long NAD83[134] = {101,102,5010,5300,201,202,203,301,302,401,402,403,
+ 404,405,406,0000,501,502,503,600,700,901,902,903,1001,1002,
+@@ -69,7 +76,7 @@
+ 4502,4601,4602,4701,4702,4801,4802,4803,4901,4902,4903,4904,
+ 5001,5002,5003,5004,5005,5006,5007,5008,5009,5200,0000,5400};
+ */
+-gctp(incoor,insys,inzone,inparm,inunit,indatum,ipr,efile,jpr,pfile,outcoor,
++int gctp(incoor,insys,inzone,inparm,inunit,indatum,ipr,efile,jpr,pfile,outcoor,
+ outsys,outzone,outparm,outunit,outdatum,fn27,fn83,iflg)
+
+ double *incoor; /* input coordinates */
+@@ -258,10 +258,10 @@
+ dummy[0] = inparm[0];
+ dummy[1] = inparm[1];
+ }
+- inv_init((int)*insys,(int)*inzone,dummy,(int)*indatum,fn27,fn83,&iflgval,(int *)inv_trans);
++ inv_init((int)*insys,(int)*inzone,dummy,(int)*indatum,fn27,fn83,&iflgval,inv_trans);
+ }
+ else
+- inv_init((int)*insys,(int)*inzone,inparm,(int)*indatum,fn27,fn83,&iflgval,(int *)inv_trans);
++ inv_init((int)*insys,(int)*inzone,inparm,(int)*indatum,fn27,fn83,&iflgval,inv_trans);
+ *iflg=(long)iflgval;
+
+ if ((int)*iflg != 0)
+@@ -320,10 +320,10 @@
+ dummy[0] = outparm[0];
+ dummy[1] = outparm[1];
+ }
+- for_init((int)*outsys,(int)*outzone,dummy,(int)*outdatum,fn27,fn83,&iflgval,(int *)for_trans);
++ for_init((int)*outsys,(int)*outzone,dummy,(int)*outdatum,fn27,fn83,&iflgval,for_trans);
+ }
+ else
+- for_init((int)*outsys,(int)*outzone,outparm,(int)*outdatum,fn27,fn83,&iflgval,(int *)for_trans);
++ for_init((int)*outsys,(int)*outzone,outparm,(int)*outdatum,fn27,fn83,&iflgval,for_trans);
+
+ *iflg=(long)iflgval;
+
+--- hdfeos5/gctp/src/br_gctp.c.orig 2006-12-07 16:52:24.000000000 +0100
++++ hdfeos5/gctp/src/br_gctp.c 2019-12-09 16:37:52.638496136 +0100
+@@ -1,7 +1,10 @@
++#include <stddef.h>
+
+ #ifdef unix
+ /* Fortran bridge routine for the UNIX */
+
++int gctp(double *incoor, long *insys, long *inzone, double *inparm, long *inunit, long *indatum, long *ipr, char *efile, long *jpr, char *pfile, double *outcoor, long *outsys, long *outzone, double *outparm, long *outunit, long *outdatum, char fn27[], char fn83[], long *iflg);
++
+ void gctp_(incoor,insys,inzone,inparm,inunit,indatum,ipr,efile,jpr,pfile,
+ outcoor, outsys,outzone,outparm,outunit,fn27,fn83,iflg)
+
+@@ -20,11 +22,13 @@
+ long *outzone;
+ double *outparm;
+ long *outunit;
++char fn27[];
++char fn83[];
+ long *iflg;
+
+ {
+ gctp(incoor,insys,inzone,inparm,inunit,indatum,ipr,efile,jpr,pfile,outcoor,
+- outsys,outzone,outparm,outunit,fn27,fn83,iflg);
++ outsys,outzone,outparm,outunit,NULL /* FIXME */,fn27,fn83,iflg);
+
+ return;
+ }
+--- hdfeos5/src/EHapi.c.orig 2017-11-13 17:02:41.000000000 +0100
++++ hdfeos5/src/EHapi.c 2019-12-10 05:33:39.956327678 +0100
+@@ -2222,7 +2222,7 @@
+ if (fid < HE5_EHIDOFFSET || fid > HE5_NEOSHDF + HE5_EHIDOFFSET)
+ {
+ status = FAIL;
+- sprintf(errbuf,"Invalid file ID: %d. ID should range from %d to %d .\n", fid, HE5_EHIDOFFSET, HE5_NEOSHDF + HE5_EHIDOFFSET);
++ sprintf(errbuf,"Invalid file ID: %"PRId64". ID should range from %d to %d .\n", fid, HE5_EHIDOFFSET, HE5_NEOSHDF + HE5_EHIDOFFSET);
+ H5Epush(__FILE__, "HE5_EHchkfid", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -2234,7 +2234,7 @@
+ if( HE5_HeosTable[ fid0 ].active == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf,"HE5_EHchkid: File ID %d not active (%s).\n",fid, name);
++ sprintf(errbuf,"HE5_EHchkid: File ID %"PRId64" not active (%s).\n",fid, name);
+ H5Epush(__FILE__, "HE5_EHchkfid", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -8615,7 +8615,7 @@
+ else
+ {
+ status = FAIL;
+- sprintf(errbuf,"Invalid file ID: %d . ID should range from %d to %d . \n", fid, HE5_EHIDOFFSET, HE5_NEOSHDF + HE5_EHIDOFFSET);
++ sprintf(errbuf,"Invalid file ID: %"PRId64" . ID should range from %d to %d . \n", fid, HE5_EHIDOFFSET, HE5_NEOSHDF + HE5_EHIDOFFSET);
+ H5Epush(__FILE__, "HE5_EHclose", __LINE__, H5E_FILE, H5E_BADFILE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -12023,7 +12023,7 @@
+ if( HE5_HeosTable[ fid0 ].active == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf,"HE5_EHwritemeta: File ID %d not active \n",fid);
++ sprintf(errbuf,"HE5_EHwritemeta: File ID %"PRId64" not active \n",fid);
+ H5Epush(__FILE__, "HE5_EHwritemeta", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -12295,7 +12295,7 @@
+ if( HE5_HeosTable[ fid0 ].active == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf,"HE5_EHreadmeta: File ID %d not active \n",fid);
++ sprintf(errbuf,"HE5_EHreadmeta: File ID %"PRId64" not active \n",fid);
+ H5Epush(__FILE__, "HE5_EHreadmeta", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -12605,7 +12605,7 @@
+ if( HE5_HeosTable[ fid0 ].active == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf,"HE5_EHreadmeta: File ID %d not active \n",fid);
++ sprintf(errbuf,"HE5_EHreadmeta: File ID %"PRId64" not active \n",fid);
+ H5Epush(__FILE__, "HE5_EHreadmeta", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+--- hdfeos5/src/GDapi.c.orig 2017-11-13 17:02:42.000000000 +0100
++++ hdfeos5/src/GDapi.c 2019-12-10 05:32:50.266596870 +0100
+@@ -7847,6 +7847,10 @@
+
+
+
++herr_t
++HE5_GDsetdimscale2(hid_t gridID, char *fieldname, char *dimname,
++ char *dimscalename, const hsize_t dimsize,
++ hid_t numbertype_in, void * data);
+
+
+ /*----------------------------------------------------------------------------|
+@@ -17274,7 +17278,7 @@
+ if (regionID < 0 || regionID >= HE5_NGRIDREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_GDregioninfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ free(errbuf);
+@@ -17289,7 +17293,7 @@
+ if (HE5_GDXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_GDregioninfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ free(errbuf);
+@@ -17792,7 +17796,7 @@
+ if (regionID < 0 || regionID >= HE5_NGRIDREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region id: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region id: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_GDextractregion", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ free(errbuf);
+@@ -17806,7 +17810,7 @@
+ if (HE5_GDXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_GDextractregion", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ free(errbuf);
+--- hdfeos5/src/PTapi.c.orig 2017-11-13 17:02:43.000000000 +0100
++++ hdfeos5/src/PTapi.c 2019-12-10 16:35:37.164494445 +0100
+@@ -821,7 +821,7 @@
+ status = HE5_PTgetlevelname_fromSM(pointID, i, LevelName);
+ if ( status == FAIL )
+ {
+- sprintf(errbuf, "Failed to get LevelName for the Level_%d.",i) ;
++ sprintf(errbuf, "Failed to get LevelName for the Level_%"PRId64".",i) ;
+ H5Epush(__FILE__, "HE5_PTattach", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+
+@@ -1188,7 +1188,7 @@
+ nlevels = HE5_PTnlevels(pointID);
+ if (nlevels == 0)
+ {
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTnrecs", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(0);
+@@ -1197,7 +1197,7 @@
+ {
+ /* Report error if level # to large */
+ /* -------------------------------- */
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTnrecs", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(0);
+@@ -1655,7 +1655,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTnfields", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -1665,7 +1665,7 @@
+ /* Report error if level # too large */
+ /* --------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTnfields", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -1844,7 +1844,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTgetlevelname", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+
+@@ -1854,7 +1854,7 @@
+ /* Report error if level # to large */
+ /* -------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTgetlevelname", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -3049,7 +3049,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTwritelevel", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -3059,7 +3059,7 @@
+ /* Report error if level # to large */
+ /* -------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTwritelevel", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -3488,7 +3488,7 @@
+ nlevels = HE5_PTnlevels(pointID);
+ if (nlevels == 0)
+ {
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTlevelinfo", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(FAIL);
+@@ -3497,7 +3497,7 @@
+ {
+ /* Report error if level # to large */
+ /* -------------------------------- */
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTlevelinfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(FAIL);
+@@ -3915,7 +3915,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTreadlevel", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -3925,7 +3925,7 @@
+ /* Report error if level # to large */
+ /* -------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTreadlevel", __LINE__, H5E_FILE, H5E_SEEKERROR, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -9099,7 +9099,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTreadlevel_f", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -9109,7 +9109,7 @@
+ /* Report error if level # to large */
+ /* -------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTreadlevel_f", __LINE__, H5E_FILE, H5E_SEEKERROR, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -9513,7 +9513,7 @@
+ if (nlevels == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "No Levels Defined for point ID: %d\n", pointID);
++ sprintf(errbuf, "No Levels Defined for point ID: %"PRId64"\n", pointID);
+ H5Epush(__FILE__, "HE5_PTwritelevel_f", __LINE__, H5E_BTREE, H5E_NOTFOUND, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -9523,7 +9523,7 @@
+ /* Report error if level # to large */
+ /* -------------------------------- */
+ status = FAIL;
+- sprintf(errbuf, "Only %d levels Defined for point ID: %d\n", nlevels, pointID);
++ sprintf(errbuf, "Only %d levels Defined for point ID: %"PRId64"\n", nlevels, pointID);
+ H5Epush(__FILE__, "HE5_PTwritelevel_f", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+--- hdfeos5/src/SWapi.c.orig 2019-12-10 16:45:34.831256606 +0100
++++ hdfeos5/src/SWapi.c 2019-12-10 16:45:38.444570365 +0100
+@@ -2020,6 +2020,9 @@
+ return(status);
+ }
+
++herr_t
++HE5_SWsetdimscale2(hid_t swathID, char *fieldname, char *dimname, char *dimscalename,
++ const hsize_t dimsize, hid_t numbertype_in, void * data);
+
+ /*----------------------------------------------------------------------------|
+ | BEGIN_PROLOG |
+@@ -13361,7 +13364,7 @@
+
+ if ((HE5_SWXRegion[k]->nRegions) > HE5_MAXNREGIONS)
+ {
+- sprintf(errbuf, "HE5_SWXRegion[%d]->nRegions exceeded HE5_MAXNREGIONS = %d.\n", k, HE5_MAXNREGIONS);
++ sprintf(errbuf, "HE5_SWXRegion[%"PRId64"]->nRegions exceeded HE5_MAXNREGIONS = %d.\n", k, HE5_MAXNREGIONS);
+ H5Epush(__FILE__, "HE5_SWdefboxregion", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ if (lonArr != NULL) free(lonArr);
+@@ -14685,7 +14688,7 @@
+ if (regionID < 0 || regionID >= HE5_NSWATHREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWextractregion", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -14698,7 +14701,7 @@
+ if (HE5_SWXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWextractregion", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16253,7 +16256,7 @@
+ if (regionID < 0 || regionID >= HE5_NSWATHREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region id: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region id: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWregioninfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16266,7 +16269,7 @@
+ if (HE5_SWXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf,"Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf,"Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWregioninfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16733,7 +16736,7 @@
+ if (regionID < 0 || regionID >= HE5_NSWATHREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWupdatescene", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16746,7 +16749,7 @@
+ if (HE5_SWXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWupdatescene", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16775,7 +16778,7 @@
+ free(HE5_SWXRegion[regionID]);
+ HE5_SWXRegion[regionID] = 0;
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWupdatescene", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ break;
+@@ -16894,7 +16897,7 @@
+ if (regionID < 0 || regionID >= HE5_NSWATHREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf,"Invalid Region id: %d.\n", regionID);
++ sprintf(errbuf,"Invalid Region id: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWupdateidxmap", __LINE__, H5E_ARGS, H5E_BADRANGE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -16907,7 +16910,7 @@
+ if (HE5_SWXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWupdateidxmap", __LINE__, H5E_FILE, H5E_BADRANGE, errbuf );
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ }
+@@ -23662,7 +23665,7 @@
+ if (regionID < 0 || regionID >= HE5_NSWATHREGN)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Invalid Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Invalid Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWindexinfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+@@ -23673,7 +23676,7 @@
+ if (HE5_SWXRegion[regionID] == 0)
+ {
+ status = FAIL;
+- sprintf(errbuf, "Inactive Region ID: %d.\n", regionID);
++ sprintf(errbuf, "Inactive Region ID: %"PRId64".\n", regionID);
+ H5Epush(__FILE__, "HE5_SWindexinfo", __LINE__, H5E_ARGS, H5E_BADVALUE, errbuf);
+ HE5_EHprint(errbuf, __FILE__, __LINE__);
+ return(status);
+--- hdfeos5/src/ZAapi.c.orig 2017-11-13 17:02:46.000000000 +0100
++++ hdfeos5/src/ZAapi.c 2019-12-10 16:46:27.564304260 +0100
+@@ -1275,6 +1275,9 @@
+ return(status);
+ }
+
++herr_t
++HE5_ZAsetdimscale2(hid_t zaID, char *fieldname, char *dimname, char *dimscalename,
++ const hsize_t dimsize, hid_t numbertype_in, void * data);
+
+ /*----------------------------------------------------------------------------|
+ | BEGIN_PROLOG |
+--- hdfeos5/samples/he5_gd_datainfo.c.orig 2001-07-11 00:11:08.000000000 +0200
++++ hdfeos5/samples/he5_gd_datainfo.c 2019-12-10 16:47:13.027391299 +0100
+@@ -26,10 +26,10 @@
+ size_t size = 0;
+
+ fid = HE5_GDopen(FILENAME, H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_GDopen() : %d \n", fid);
++ printf("File ID returned by HE5_GDopen() : %"PRId64" \n", fid);
+
+ GDid = HE5_GDattach(fid, OBJECT);
+- printf("Grid ID returned by HE5_GDattach() : %d \n", GDid);
++ printf("Grid ID returned by HE5_GDattach() : %"PRId64" \n", GDid);
+
+ fieldgroup = HE5_HDFE_DATAGROUP;
+ status = HE5_GDinqdatatype(GDid, FIELDNAME, NULL, fieldgroup, &datatype, &classid, &order, &size);
+--- hdfeos5/samples/he5_gd_defunlimfld.c.orig 2014-01-14 18:00:21.000000000 +0100
++++ hdfeos5/samples/he5_gd_defunlimfld.c 2019-12-10 16:48:23.313677192 +0100
+@@ -49,7 +49,7 @@
+ if (gdfid != FAIL)
+ {
+ GDid1 = HE5_GDattach(gdfid, "UTMGrid");
+- printf("Grid ID returned by HE5_GDattach(,\"UTMGrid\"): %d\n", GDid1);
++ printf("Grid ID returned by HE5_GDattach(,\"UTMGrid\"): %"PRId64"\n", GDid1);
+
+ /* Define appendable field "Vegetation" */
+ tilerank = 2;
+@@ -67,7 +67,7 @@
+ printf("Status returned by HE5_GDdeffield(\"Vegetation\"): %d\n", status);
+
+ GDid2 = HE5_GDattach(gdfid, "PolarGrid");
+- printf("Grid ID returned by HE5_GDattach(\"PolarGrid\"): %d\n", GDid2);
++ printf("Grid ID returned by HE5_GDattach(\"PolarGrid\"): %"PRId64"\n", GDid2);
+
+ status = HE5_GDdeffield(GDid2, "Temperature", "YDim,XDim", NULL, H5T_NATIVE_FLOAT, 0);
+ printf("Status returned by HE5_GDdeffield(\"Temperature\"): %d\n", status);
+--- hdfeos5/samples/he5_gd_setup.c.orig 2001-07-11 00:13:46.000000000 +0200
++++ hdfeos5/samples/he5_gd_setup.c 2019-12-10 16:49:04.463454265 +0100
+@@ -64,7 +64,7 @@
+ ydim = 200;
+
+ GDid = HE5_GDcreate(gdfid, "UTMGrid", xdim, ydim, uplft, lowrgt);
+- printf("Grid ID returned by HE5_GDcreate : %d \n", GDid);
++ printf("Grid ID returned by HE5_GDcreate : %"PRId64" \n", GDid);
+
+ status = HE5_GDdefproj(GDid, HE5_GCTP_UTM, zonecode, spherecode, projparm);
+ printf("status returned by HE5_GDdefproj(...\"HE5_GCTP_UTM\"...) : %d \n", status);
+@@ -108,7 +108,7 @@
+ ydim = 100;
+
+ GDid2 = HE5_GDcreate(gdfid, "PolarGrid", xdim, ydim, NULL, NULL);
+- printf("Grid ID returned by HE5_GDcreate() : %d \n", GDid2);
++ printf("Grid ID returned by HE5_GDcreate() : %"PRId64" \n", GDid2);
+
+ status = HE5_GDdefproj(GDid2, HE5_GCTP_PS, dummy, spherecode, projparm);
+ printf("status returned by HE5_GDdefproj(...\"HE5_GCTP_PS\"...) : %d \n", status);
+@@ -137,7 +137,7 @@
+ lowrgt[1] = HE5_EHconvAng(20., HE5_HDFE_DEG_DMS);
+
+ GDid3 = HE5_GDcreate(gdfid, "GEOGrid", xdim, ydim, uplft, lowrgt);
+- printf("Grid ID returned by HE5_GDcreate() : %d \n", GDid3);
++ printf("Grid ID returned by HE5_GDcreate() : %"PRId64" \n", GDid3);
+
+ status = HE5_GDdefproj(GDid3, HE5_GCTP_GEO, dummy, dummy, NULL);
+ printf("status returned by HE5_GDdefproj(...\"HE5_GCTP_GEO\"...) : %d \n", status);
+--- hdfeos5/samples/he5_gd_subset.c.orig 2003-02-12 20:30:50.000000000 +0100
++++ hdfeos5/samples/he5_gd_subset.c 2019-12-10 16:49:21.156697163 +0100
+@@ -53,7 +53,7 @@
+ cornerlon[1] = 90.; cornerlat[1] = 0.;
+
+ regionID = HE5_GDdefboxregion(GDid, cornerlon, cornerlat);
+- printf("Region ID returned by HE5_GDdefboxregion() : %d \n", regionID);
++ printf("Region ID returned by HE5_GDdefboxregion() : %"PRId64" \n", regionID);
+
+ ntype = (hid_t *)calloc(1, sizeof(hid_t));
+ status = HE5_GDregioninfo(GDid, regionID, "Temperature", ntype,&rank, dims, &size, upleft, lowright);
+--- hdfeos5/samples/he5_pt_datainfo.c.orig 2001-07-11 00:16:30.000000000 +0200
++++ hdfeos5/samples/he5_pt_datainfo.c 2019-12-10 16:49:46.643225757 +0100
+@@ -26,10 +26,10 @@
+ size_t size = 0;
+
+ fid = HE5_PTopen(FILENAME, H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_PTopen() : %d \n", fid);
++ printf("File ID returned by HE5_PTopen() : %"PRId64" \n", fid);
+
+ PTid = HE5_PTattach(fid, OBJECT);
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ fieldgroup = HE5_HDFE_DATAGROUP;
+ status = HE5_PTinqdatatype(PTid, "Observations", NULL, fieldgroup, &datatype, &classid, &order, &size);
+--- hdfeos5/samples/he5_pt_definelevels.c.orig 2001-07-11 00:16:43.000000000 +0200
++++ hdfeos5/samples/he5_pt_definelevels.c 2019-12-10 16:50:03.936465405 +0100
+@@ -378,7 +378,7 @@
+ }
+ else
+ {
+- printf("File ID returned by HE5_PTopen() : %d \n", ptfid);
++ printf("File ID returned by HE5_PTopen() : %"PRId64" \n", ptfid);
+ }
+
+ return 0;
+--- hdfeos5/samples/he5_pt_readattrs.c.orig 2003-03-06 20:47:27.000000000 +0100
++++ hdfeos5/samples/he5_pt_readattrs.c 2019-12-10 16:50:59.759496319 +0100
+@@ -29,10 +29,10 @@
+ /* Open the HDF-EOS file, "Point.h5" */
+ /* --------------------------------- */
+ ptfid = HE5_PTopen("Point.h5", H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_PTopen() : %d \n", ptfid);
++ printf("File ID returned by HE5_PTopen() : %"PRId64" \n", ptfid);
+
+ PTid = HE5_PTattach(ptfid, "FixedBuoy Point");
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ nt = (hid_t *)calloc(1, sizeof(hid_t));
+
+--- hdfeos5/samples/he5_pt_readdata.c.orig 2001-07-11 00:17:10.000000000 +0200
++++ hdfeos5/samples/he5_pt_readdata.c 2019-12-10 16:51:49.905891319 +0100
+@@ -46,12 +46,12 @@
+ /* Open the HDF-EOS file, "Point.h5" */
+ /* --------------------------------- */
+ ptfid = HE5_PTopen("Point.h5", H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_PTopen() : %d \n", ptfid);
++ printf("File ID returned by HE5_PTopen() : %"PRId64" \n", ptfid);
+
+ /* Read Simple Point */
+ /* ----------------- */
+ PTid = HE5_PTattach(ptfid, "Simple Point");
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ /* Get level information */
+ /* --------------------- */
+@@ -64,7 +64,7 @@
+ {
+ printf("Field name: %s \n", level.fieldname[i]);
+ printf("Field rank: %d \n", level.rank[i]);
+- printf("Field type ID: %d \n", level.dtype[i]);
++ printf("Field type ID: %"PRId64" \n", level.dtype[i]);
+ for (j = 0; j < level.rank[i]; j++)
+ printf("Field dims: %d \n", (int)level.dims[i][j]);
+ printf("Field class: %d \n", level.dclass[i]);
+@@ -170,7 +170,7 @@
+ printf("Status returned by HE5_PTdetach() : %d \n", status);
+
+ PTid = HE5_PTattach(ptfid, "FixedBuoy Point");
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ /* Read Fixed Buoy Point Attributes */
+ /* -------------------------------- */
+--- hdfeos5/samples/he5_pt_writeattrs.c.orig 2001-07-11 00:17:49.000000000 +0200
++++ hdfeos5/samples/he5_pt_writeattrs.c 2019-12-10 16:52:30.835669584 +0100
+@@ -27,12 +27,12 @@
+ /* Open the HDF-EOS file, "Point.h5" */
+ /* --------------------------------- */
+ ptfid = HE5_PTopen("Point.h5", H5F_ACC_RDWR);
+- printf("File ID returned by HE5_PTopen() : %d \n", ptfid);
++ printf("File ID returned by HE5_PTopen() : %"PRId64" \n", ptfid);
+
+ /* Write attribute to "Fixed Buoy Point" */
+ /* ------------------------------------- */
+ PTid = HE5_PTattach(ptfid, "FixedBuoy Point");
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ count[0] = 1;
+ status = HE5_PTwriteattr(PTid, "GlobalAttribute_int", H5T_NATIVE_INT, count, &attr);
+@@ -51,7 +51,7 @@
+ /* Write attributes to "Floating Buoy Point" */
+ /* ----------------------------------------- */
+ PTid = HE5_PTattach(ptfid, "FloatBuoy Point");
+- printf("Point ID returned by HE5_PTattach() : %d \n", PTid);
++ printf("Point ID returned by HE5_PTattach() : %"PRId64" \n", PTid);
+
+ count[0] = 1;
+ status = HE5_PTwriteattr(PTid, "GlobalAttribute_float", H5T_NATIVE_FLOAT, count, &flt);
+--- hdfeos5/samples/he5_sw_datainfo.c.orig 2003-12-01 20:24:51.000000000 +0100
++++ hdfeos5/samples/he5_sw_datainfo.c 2019-12-10 16:57:35.334019975 +0100
+@@ -31,12 +31,12 @@
+ /* Open the HDF-EOS swath file */
+ /* --------------------------- */
+ fid = HE5_SWopen(FILENAME, H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_SWopen() : %d \n", fid);
++ printf("File ID returned by HE5_SWopen() : %"PRId64" \n", fid);
+
+ /* Attach to the "Swath1" swath */
+ /* ---------------------------- */
+ SWid = HE5_SWattach(fid, OBJECT);
+- printf("Swath ID returned by HE5_SWattach() : %d \n", SWid);
++ printf("Swath ID returned by HE5_SWattach() : %"PRId64" \n", SWid);
+
+ /* Inquire data type information for the "Spectra" field */
+ /* ----------------------------------------------------- */
+@@ -45,7 +45,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -58,7 +58,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -70,7 +70,7 @@
+ printf("Status returned by HE5_EHinqglbdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -80,7 +80,7 @@
+ printf("Status returned by HE5_EHinqglbdatatype()->GLOBAL_DOUBLE_ATTR_1 : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -92,7 +92,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -102,7 +102,7 @@
+ printf("Status returned by HE5_SWinqdatatype()->GLOBAL_CHAR_ATTR_11 : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -112,7 +112,7 @@
+ printf("Status returned by HE5_SWinqdatatype()->GLOBAL_CHAR_ATTR : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -123,7 +123,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -134,7 +134,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -145,7 +145,7 @@
+ printf("Status returned by HE5_SWinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+--- hdfeos5/samples/he5_sw_info.c.orig 2004-01-20 20:17:54.000000000 +0100
++++ hdfeos5/samples/he5_sw_info.c 2019-12-10 17:01:28.582756358 +0100
+@@ -110,7 +110,7 @@
+
+ printf("geo fields: %s\n", fieldlist);
+ for (i = 0; i < nflds; i++)
+- printf("Rank: %d Data type: %d\n", rank[i], ntype[i]);
++ printf("Rank: %d Data type: %"PRId64"\n", rank[i], ntype[i]);
+
+ free(rank);
+ free(fieldlist);
+@@ -124,7 +124,7 @@
+
+ printf("data fields: %s\n", fieldlist);
+ for (i = 0; i < nflds; i++)
+- printf("Rank: %d Data type: %d\n", rank[i], ntype[i]);
++ printf("Rank: %d Data type: %"PRId64"\n", rank[i], ntype[i]);
+
+ free(rank);
+ free(fieldlist);
+@@ -158,14 +158,14 @@
+ /* ----------------------------- */
+ status = HE5_SWfieldinfo(SWid, "Longitude", &rk, dim, &dtype, dimlist, NULL);
+ printf("Longitude Rank: %d\n", rk);
+- printf("Longitude NumberType: %d\n", dtype);
++ printf("Longitude NumberType: %"PRId64"\n", dtype);
+ printf("Longitude Dimension List: %s\n", dimlist);
+ for (i = 0; i < rk; i++)
+ printf("Dimension %d: %lu\n",i+1,(unsigned long)dim[i]);
+
+ status = HE5_SWfieldinfo(SWid, "Test_string", &rk1, dim1, &dtype_char, dimlist1, NULL);
+ printf("Test_string Rank: %d\n", rk1);
+- printf("Test_string NumberType: %d\n", dtype_char);
++ printf("Test_string NumberType: %"PRId64"\n", dtype_char);
+ printf("Test_string Dimension List: %s\n", dimlist1);
+ for (i = 0; i < rk1; i++)
+ printf("Dimension %d: %lu\n",i+1,(unsigned long)dim1[i]);
+@@ -175,17 +175,17 @@
+ /* -------------------------------- */
+ printf("Global Attribute:\n");
+ status = HE5_SWattrinfo(SWid,"GlobalAttribute",&dtype1, &nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 0;
+ status = HE5_SWattrinfo(SWid,"GLOBAL_CHAR_ATTR",&dtype1, &nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t The size of string: %lu \n", (unsigned long)nelem);
+
+ nelem = 0;
+ status = HE5_SWattrinfo(SWid,"GLOBAL_DOUBLE_ATTR",&dtype1, &nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 0;
+@@ -194,7 +194,7 @@
+ /* ------------------------------- */
+ printf("Group Attribute:\n");
+ status = HE5_SWgrpattrinfo(SWid,"GroupAttribute",&dtype1,&nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 777;
+@@ -203,17 +203,17 @@
+ /* ------------------------------- */
+ printf("Local Attribute:\n");
+ status = HE5_SWlocattrinfo(SWid,"Density", "LocalAttribute_1",&dtype1,&nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ printf("Local Attribute:\n");
+ status = HE5_SWlocattrinfo(SWid,"Longitude", "LocalAttribute_2",&dtype1,&nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 0;
+ status = HE5_SWlocattrinfo(SWid,"Time", "LOCAL_CHAR_ATTR",&dtype1,&nelem);
+- printf("\t\t Data type: %d\n", dtype1);
++ printf("\t\t Data type: %"PRId64"\n", dtype1);
+ printf("\t\t The size of string: %lu \n", (unsigned long)nelem);
+
+ /* Inquire Global Attributes */
+--- hdfeos5/samples/he5_sw_setup.c.orig 2003-02-12 20:32:10.000000000 +0100
++++ hdfeos5/samples/he5_sw_setup.c 2019-12-10 17:51:25.706519547 +0100
+@@ -27,12 +27,12 @@
+ /* Open a new HDF-EOS swath file, "Swath.h5" */
+ /* ----------------------------------------- */
+ swfid = HE5_SWopen("Swath.h5", H5F_ACC_TRUNC);
+- printf("File ID returned by HE5_SWopen(): %d \n", swfid);
++ printf("File ID returned by HE5_SWopen(): %"PRId64" \n", swfid);
+
+ /* Create the swath, "Swath1", within the file */
+ /* ------------------------------------------- */
+ SWid = HE5_SWcreate(swfid, "Swath1");
+- printf("Swath ID returned by HE5_SWcreate(): %d \n", SWid);
++ printf("Swath ID returned by HE5_SWcreate(): %"PRId64" \n", SWid);
+
+ /* Define dimensions and specify their sizes */
+ /* ----------------------------------------- */
+--- hdfeos5/samples/he5_sw_subset.c.orig 2003-02-12 20:32:29.000000000 +0100
++++ hdfeos5/samples/he5_sw_subset.c 2019-12-10 17:51:57.159682484 +0100
+@@ -49,7 +49,7 @@
+
+ regionID = HE5_SWdefboxregion(SWid, cornerlon, cornerlat, HE5_HDFE_MIDPOINT);
+ printf("\n");
+- printf("Region ID returned by HE5_SWdefboxregion() : %d \n", regionID);
++ printf("Region ID returned by HE5_SWdefboxregion() : %"PRId64" \n", regionID);
+
+ ntype = (hid_t *)calloc(1, sizeof(hid_t) );
+
+@@ -78,7 +78,7 @@
+
+ periodID = HE5_SWdeftimeperiod(SWid, start_time, stop_time, HE5_HDFE_MIDPOINT);
+ printf("\n");
+- printf("Period ID returned by HE5_SWdeftimeperiod() : %d \n", periodID);
++ printf("Period ID returned by HE5_SWdeftimeperiod() : %"PRId64" \n", periodID);
+
+ status = HE5_SWperiodinfo(SWid, periodID, "Time", ntype, &rank, dims, &size);
+ printf("Status returned by HE5_SWperiodinfo() : %d \n", status);
+--- hdfeos5/samples/he5_za_datainfo.c.orig 2003-06-03 20:09:03.000000000 +0200
++++ hdfeos5/samples/he5_za_datainfo.c 2019-12-10 17:57:51.877760812 +0100
+@@ -31,12 +31,12 @@
+ /* Open the HDF-EOS ZA file */
+ /* ------------------------ */
+ fid = HE5_ZAopen(FILENAME, H5F_ACC_RDONLY);
+- printf("File ID returned by HE5_ZAopen() : %d \n", fid);
++ printf("File ID returned by HE5_ZAopen() : %"PRId64" \n", fid);
+
+ /* Attach to the "ZA1" za */
+ /* ---------------------- */
+ ZAid = HE5_ZAattach(fid, OBJECT);
+- printf("ZA ID returned by HE5_ZAattach() : %d \n", ZAid);
++ printf("ZA ID returned by HE5_ZAattach() : %"PRId64" \n", ZAid);
+
+ /* Inquire data type information for the "Spectra" field */
+ /* ----------------------------------------------------- */
+@@ -45,7 +45,7 @@
+ printf("Status returned by HE5_ZAinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -58,7 +58,7 @@
+ printf("Status returned by HE5_ZAinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -69,7 +69,7 @@
+ printf("Status returned by HE5_ZAinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+@@ -80,7 +80,7 @@
+ printf("Status returned by HE5_ZAinqdatatype() : %d \n", status);
+ if (status != FAIL)
+ {
+- printf("\tdatatype: %d \n", datatype);
++ printf("\tdatatype: %"PRId64" \n", datatype);
+ printf("\tclass ID: %d \n", classid);
+ printf("\torder: %d \n", order);
+ printf("\tsize: %d \n", (int)size);
+--- hdfeos5/samples/he5_za_info.c.orig 2004-01-20 20:18:40.000000000 +0100
++++ hdfeos5/samples/he5_za_info.c 2019-12-10 17:58:44.894140264 +0100
+@@ -72,7 +72,7 @@
+
+ printf("data fields: %s\n", fieldlist);
+ for (i = 0; i < nflds; i++)
+- printf("Rank: %d Data type: %d\n", rank[i], ntype[i]);
++ printf("Rank: %d Data type: %"PRId64"\n", rank[i], ntype[i]);
+
+ free(rank);
+ free(fieldlist);
+@@ -89,7 +89,7 @@
+ /* -------------------------------- */
+ printf("Global Attribute:\n");
+ status = HE5_ZAattrinfo(ZAid,"GlobalAttribute",&dtype, &nelem);
+- printf("\t\t Data type: %d\n", dtype);
++ printf("\t\t Data type: %"PRId64"\n", dtype);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 0;
+@@ -98,7 +98,7 @@
+ /* ------------------------------- */
+ printf("Group Attribute:\n");
+ status = HE5_ZAgrpattrinfo(ZAid,"GroupAttribute",&dtype,&nelem);
+- printf("\t\t Data type: %d\n", dtype);
++ printf("\t\t Data type: %"PRId64"\n", dtype);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+ nelem = 777;
+@@ -107,7 +107,7 @@
+ /* ------------------------------- */
+ printf("Local Attribute:\n");
+ status = HE5_ZAlocattrinfo(ZAid,"Density", "LocalAttribute",&dtype,&nelem);
+- printf("\t\t Data type: %d\n", dtype);
++ printf("\t\t Data type: %"PRId64"\n", dtype);
+ printf("\t\t Number of elements: %lu \n", (unsigned long)nelem);
+
+
+--- hdfeos5/samples/he5_za_setup.c.orig 2003-06-03 20:10:23.000000000 +0200
++++ hdfeos5/samples/he5_za_setup.c 2019-12-10 17:59:06.717355371 +0100
+@@ -24,12 +24,12 @@
+ /* Open a new HDF-EOS za file, "ZA.he5" */
+ /* ----------------------------------- */
+ zafid = HE5_ZAopen("ZA.he5", H5F_ACC_TRUNC);
+- printf("File ID returned by HE5_ZAopen(): %d \n", zafid);
++ printf("File ID returned by HE5_ZAopen(): %"PRId64" \n", zafid);
+
+ /* Create the ZA, "ZA1", within the file */
+ /* ------------------------------------- */
+ ZAid = HE5_ZAcreate(zafid, "ZA1");
+- printf("ZA ID returned by HE5_ZAcreate(): %d \n", ZAid);
++ printf("ZA ID returned by HE5_ZAcreate(): %"PRId64" \n", ZAid);
+
+ /* Define dimensions and specify their sizes */
+ /* ----------------------------------------- */
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/hdf-eos5.git/commitdiff/0d3eda21845e8129150e14ae049a53e419221de7
More information about the pld-cvs-commit
mailing list