From 7a92610e021c2c7160f80229616f0c52b8a10580 Mon Sep 17 00:00:00 2001 From: James Gallagher Date: Mon, 30 Mar 2026 17:23:16 -0600 Subject: [PATCH 1/3] Update the gctp() function for modern compilers --- modules/hdf5_handler/gctp/src/gctp.c | 43 +++++++++++++++------------- 1 file changed, 23 insertions(+), 20 deletions(-) diff --git a/modules/hdf5_handler/gctp/src/gctp.c b/modules/hdf5_handler/gctp/src/gctp.c index 6553d9174a..56e869e51e 100755 --- a/modules/hdf5_handler/gctp/src/gctp.c +++ b/modules/hdf5_handler/gctp/src/gctp.c @@ -71,31 +71,34 @@ static long NAD83[134] = {101,102,5010,5300,201,202,203,301,302,401,402,403, */ /* Added explicit return type. 6/5/23 */ +#if 0 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 */ -long *insys; /* input projection code */ -long *inzone; /* input zone number */ -double *inparm; /* input projection parameter array */ -long *inunit; /* input units */ -long *indatum; /* input datum */ -long *ipr; /* printout flag for error messages. 0=screen, 1=file, + #endif +int +gctp( +double *incoor, /* input coordinates */ +long *insys, /* input projection code */ +long *inzone, /* input zone number */ +double *inparm, /* input projection parameter array */ +long *inunit, /* input units */ +long *indatum, /* input datum */ +long *ipr, /* printout flag for error messages. 0=screen, 1=file, 2=both*/ -char *efile; /* error file name */ -long *jpr; /* printout flag for projection parameters 0=screen, +char *efile, /* error file name */ +long *jpr, /* printout flag for projection parameters 0=screen, 1=file, 2 = both*/ -char *pfile; /* error file name */ -double *outcoor; /* output coordinates */ -long *outdatum; /* output datum */ -long *outsys; /* output projection code */ -long *outzone; /* output zone */ -double *outparm; /* output projection array */ -long *outunit; /* output units */ -char fn27[]; /* file name of NAD 1927 parameter file */ -char fn83[]; /* file name of NAD 1983 parameter file */ -long *iflg; /* error flag */ +char *pfile, /* error file name */ +double *outcoor, /* output coordinates */ +long *outdatum, /* output datum */ +long *outsys, /* output projection code */ +long *outzone, /* output zone */ +double *outparm, /* output projection array */ +long *outunit, /* output units */ +char fn27[], /* file name of NAD 1927 parameter file */ +char fn83[], /* file name of NAD 1983 parameter file */ +long *iflg) /* error flag */ { double x; /* x coordinate */ double y; /* y coordinate */ From 8b67f81c1730136a9472a8adb6f17106931d4b16 Mon Sep 17 00:00:00 2001 From: James Gallagher Date: Mon, 30 Mar 2026 17:24:06 -0600 Subject: [PATCH 2/3] Update the gctp() function in the hdf5 handler --- modules/hdf5_handler/gctp/src/gctp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/hdf5_handler/gctp/src/gctp.c b/modules/hdf5_handler/gctp/src/gctp.c index 56e869e51e..cea5a1a868 100755 --- a/modules/hdf5_handler/gctp/src/gctp.c +++ b/modules/hdf5_handler/gctp/src/gctp.c @@ -75,7 +75,7 @@ static long NAD83[134] = {101,102,5010,5300,201,202,203,301,302,401,402,403, int gctp(incoor,insys,inzone,inparm,inunit,indatum,ipr,efile,jpr,pfile,outcoor, outsys,outzone,outparm,outunit,outdatum,fn27,fn83,iflg) - #endif +#endif int gctp( double *incoor, /* input coordinates */ From 2b8c8625ca687f7c682c7a5709fcf43da5a2ac8d Mon Sep 17 00:00:00 2001 From: James Gallagher Date: Mon, 30 Mar 2026 21:26:23 -0600 Subject: [PATCH 3/3] Removed errors and warnings from the gcpt library embedded in hdf5_handler --- modules/hdf5_handler/gctp/src/gctp.c | 16 ++++++++-------- modules/hdf5_handler/gctp/src/merfor.c | 1 - modules/hdf5_handler/gctp/src/merinv.c | 1 - modules/hdf5_handler/gctp/src/somfor.c | 1 - 4 files changed, 8 insertions(+), 11 deletions(-) diff --git a/modules/hdf5_handler/gctp/src/gctp.c b/modules/hdf5_handler/gctp/src/gctp.c index cea5a1a868..0f177dfcba 100755 --- a/modules/hdf5_handler/gctp/src/gctp.c +++ b/modules/hdf5_handler/gctp/src/gctp.c @@ -45,8 +45,8 @@ static long outpj[MAXPROJ + 1]; /* output projection array */ 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 (*hfor_trans[MAXPROJ + 1])();/* forward function pointer array*/ -static long (*hinv_trans[MAXPROJ + 1])();/* inverse function pointer array*/ +static int (*hfor_trans[MAXPROJ + 1])(double, double, double *, double *);/* forward function pointer array*/ +static int (*hinv_trans[MAXPROJ + 1])(double, double, double *, double *);/* inverse function pointer array*/ /* Table of unit codes as specified by state laws as of 2/1/92 for NAD 1983 State Plane @@ -91,11 +91,11 @@ long *jpr, /* printout flag for projection parameters 0=screen, 1=file, 2 = both*/ char *pfile, /* error file name */ double *outcoor, /* output coordinates */ -long *outdatum, /* output datum */ long *outsys, /* output projection code */ long *outzone, /* output zone */ double *outparm, /* output projection array */ long *outunit, /* output units */ +long *outdatum, /* output datum */ char fn27[], /* file name of NAD 1927 parameter file */ char fn83[], /* file name of NAD 1983 parameter file */ long *iflg) /* error flag */ @@ -106,7 +106,7 @@ double factor; /* conversion factor */ double lon; /* longitude */ double lat; /* latitude */ /*double temp; */ /* dummy variable */ -double pakr2dm(); +double pakr2dm(double ang); long i,j; /* loop counters */ long ininit_flag; /* input initilization flag */ long outinit_flag; /* output initilization flag */ @@ -257,10 +257,10 @@ y = incoor[1] * factor; dummy[0] = inparm[0]; dummy[1] = inparm[1]; } - hinv_init((int)*insys,(int)*inzone,dummy,(int)*indatum,fn27,fn83,&iflgval,(int *)hinv_trans); + hinv_init((int)*insys,(int)*inzone,dummy,(int)*indatum,fn27,fn83,&iflgval,hinv_trans); } else - hinv_init((int)*insys,(int)*inzone,inparm,(int)*indatum,fn27,fn83,&iflgval,(int *)hinv_trans); + hinv_init((int)*insys,(int)*inzone,inparm,(int)*indatum,fn27,fn83,&iflgval,hinv_trans); *iflg=(long)iflgval; if ((int)*iflg != 0) @@ -319,10 +319,10 @@ else dummy[0] = outparm[0]; dummy[1] = outparm[1]; } - hfor_init((int)*outsys,(int)*outzone,dummy,(int)*outdatum,fn27,fn83,&iflgval,(int *)hfor_trans); + hfor_init((int)*outsys,(int)*outzone,dummy,(int)*outdatum,fn27,fn83,&iflgval,hfor_trans); } else - hfor_init((int)*outsys,(int)*outzone,outparm,(int)*outdatum,fn27,fn83,&iflgval,(int *)hfor_trans); + hfor_init((int)*outsys,(int)*outzone,outparm,(int)*outdatum,fn27,fn83,&iflgval,hfor_trans); *iflg=(long)iflgval; diff --git a/modules/hdf5_handler/gctp/src/merfor.c b/modules/hdf5_handler/gctp/src/merfor.c index bbd3574f80..857b46bd3d 100755 --- a/modules/hdf5_handler/gctp/src/merfor.c +++ b/modules/hdf5_handler/gctp/src/merfor.c @@ -47,7 +47,6 @@ double false_east, /* x offset in meters */ double false_north) /* y offset in meters */ { double temp; /* temporary variable */ -double e0fn(),e1fn(),e2fn(),e3fn(); /* functions */ /* Place parameters in static storage for common use -------------------------------------------------*/ diff --git a/modules/hdf5_handler/gctp/src/merinv.c b/modules/hdf5_handler/gctp/src/merinv.c index 0d61c96dd5..6f53003c6f 100755 --- a/modules/hdf5_handler/gctp/src/merinv.c +++ b/modules/hdf5_handler/gctp/src/merinv.c @@ -47,7 +47,6 @@ double false_east, /* x offset in meters */ double false_north) /* y offset in meters */ { double temp; /* temporary variable */ -double e0fn(),e1fn(),e2fn(),e3fn(); /* functions */ /* Place parameters in static storage for common use -------------------------------------------------*/ diff --git a/modules/hdf5_handler/gctp/src/somfor.c b/modules/hdf5_handler/gctp/src/somfor.c index c015a822cb..094a30181e 100755 --- a/modules/hdf5_handler/gctp/src/somfor.c +++ b/modules/hdf5_handler/gctp/src/somfor.c @@ -57,7 +57,6 @@ double sat_ratio) /* satellite ratio which specify the long i; double alf,e2c,e2s,one_es; double dlam,fb,fa2,fa4,fc1,fc3,suma2,suma4,sumc1,sumc3,sumb; -double adjust_lon(); /* Assign satellite ratio to a global variable ------------------------------------------- */