Description: Fix FTBFS due to C Std23
Author: Alastair McKinstry <mckinstry@debian.org>
Last-Updated: 2025-09-05
Forwarded: no

--- a/source/eqconfor.c
+++ b/source/eqconfor.c
@@ -29,7 +29,7 @@
 static double lon_center;	/* Center longitude (projection center) */
 static double lat_origin;	/* center latitude			*/
 static double e0,e1,e2,e3;	/* eccentricity constants		*/
-static double e,es,esp;		/* eccentricity constants		*/
+static double e,es;		/* eccentricity constants		*/
 static double ml0;		/* small value m			*/
 static double false_northing;	/* y offset in meters			*/
 static double false_easting;	/* x offset in meters			*/
@@ -130,11 +130,10 @@
 
 /* Equidistant Conic forward equations--mapping lat,long to x,y
   -----------------------------------------------------------*/
-long eqconfor(lon, lat, x, y)
-double lon;			/* (I) Longitude 		*/
-double lat;			/* (I) Latitude 		*/
-double *x;			/* (O) X projection coordinate 	*/
-double *y;			/* (O) Y projection coordinate 	*/
+long eqconfor(double lon,   /* (I) Longitude 		*/
+	      double lat,   /* (I) Latitude 		*/
+	      double *x,    /* (O) X projection coordinate  */
+	      double *y)    /* (O) Y projection coordinate  */
 {
 double ml;
 double theta;
--- a/source/gctp.c
+++ b/source/gctp.c
@@ -57,8 +57,8 @@
 static long outdat[MAXPROJ + 1];	/* output dataum array		*/
 static long outzn[MAXPROJ + 1];		/* output zone array		*/
 static double pdout[MAXPROJ+1][COEFCT];	/* 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 long (*for_trans[MAXPROJ + 1])(double, double, double *, double *);/* forward function pointer array*/
+static long (*inv_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
@@ -111,11 +111,9 @@
 double factor;		/* conversion factor				*/
 double lon;		/* longitude					*/
 double lat;		/* latitude					*/
-double temp;		/* temporary variable				*/
 long i,j;		/* loop counters				*/
 long ininit_flag;	/* input initilization flag			*/
 long outinit_flag;	/* output initilization flag			*/
-long ind;		/* temporary var used to find state plane zone 	*/
 long unit;		/* temporary unit variable			*/
 double temparr[COEFCT];	/* temporary projection array 			*/
 
--- a/source/inv_init.c
+++ b/source/inv_init.c
@@ -30,7 +30,7 @@
 char *fn27;		/* NAD 1927 parameter file			*/
 char *fn83;		/* NAD 1983 parameter file			*/
 long *iflg;		/* status flag					*/
-long (*inv_trans[])();	/* inverse function pointer			*/
+long (*inv_trans[])(double, double, double *, double *);	/* inverse function pointer			*/
 {
 long zone;		/* zone number					*/
 double azimuth;		/* azimuth					*/
@@ -64,36 +64,36 @@
 
 	/* Function declarations for inverse function pointer
 	---------------------------------------------------*/
-long utminv();
-long stplninv();
-long alberinv();
-long lamccinv();
-long merinv();
-long psinv();
-long polyinv();
-long eqconinv();
-long tminv();
-long sterinv();
-long lamazinv();
-long aziminv();
-long gnominv();
-long orthinv();
-long gvnspinv();
-long sininv();
-long equiinv();
-long millinv();
-long vandginv();
-long omerinv();
-long sominv();
-long haminv();
-long robinv();
-long goodinv();
-long molwinv();
-long imolwinv();
-long alconinv();
-long wivinv();
-long wviiinv();
-long obleqinv();
+ long utminv(double, double, double *, double *);
+ long stplninv(double, double , double *, double *);
+long alberinv(double x, double y, double *lon, double *lat);
+long lamccinv(double x, double y, double *lon, double *lat);
+long merinv(double, double, double *, double *);
+long psinv(double, double, double *, double *);
+long polyinv(double, double, double *, double *);
+long eqconinv(double, double, double *, double *);
+long tminv(double, double, double *, double *);
+long sterinv(double, double, double *, double *);
+long lamazinv(double, double, double *, double *);
+long aziminv(double, double, double *, double *);
+long gnominv(double, double, double *, double *);
+long orthinv(double, double, double *, double *);
+long gvnspinv(double, double, double *, double *);
+long sininv(double, double, double *, double *);
+long equiinv(double, double, double *, double *);
+long millinv(double, double, double *, double *);
+long vandginv(double, double, double *, double *);
+long omerinv(double, double, double *, double *);
+long sominv(double, double, double *, double *);
+long haminv(double, double, double *, double *);
+long robinv(double, double, double *, double *);
+long goodinv(double, double, double *, double *);
+long molwinv(double, double, double *, double *);
+long imolwinv(double, double, double *, double *);
+long alconinv(double, double, double *, double *);
+long wivinv(double, double, double *, double *);
+long wviiinv(double, double, double *, double *);
+long obleqinv(double, double, double *, double *);
 
 /* Initialize inverse transformations
 -----------------------------------*/
--- a/source/proj.h
+++ b/source/proj.h
@@ -162,7 +162,7 @@
 	double false_east, double false_north);
 long equiinv(double x, double y, double *lon, double *lat);
 void for_init(long outsys, long outzone, double *outparm, long outspheroid,
-	char *fn27, char *fn83, long *iflg, long (*for_trans[])());
+	      char *fn27, char *fn83, long *iflg, long (*for_trans[])(double, double, double *, double *));
 void gctp(double *incoor, long *insys, long *inzone, double *inparm,
 	long *inunit, long *inspheroid, long *ipr, char *efile, long *jpr,
 	char *pfile, double *outcoor, long *outsys, long *outzone,
@@ -195,7 +195,7 @@
 long imolwinvint(double r);
 long imolwinv(double x, double y, double *lon, double *lat);
 void inv_init(long insys, long inzone, double *inparm, long inspheroid,
-	char *fn27, char *fn83, long *iflg, long (*inv_trans[])());
+	      char *fn27, char *fn83, long *iflg, long (*inv_trans[])(double, double, double *,double *));
 long lamazforint(double r, double center_long, double center_lat,
 	double false_east, double false_north);
 long lamazfor(double lon, double lat, double *x, double *y);
--- a/source/for_init.c
+++ b/source/for_init.c
@@ -30,7 +30,7 @@
 char *fn27;		/* NAD 1927 parameter file			*/
 char *fn83;		/* NAD 1983 parameter file			*/
 long *iflg;		/* status flag					*/
-long (*for_trans[])();	/* forward function pointer			*/
+long (*for_trans[])(double, double, double *,double *);	/* forward function pointer			*/
 {
 long zone;		/* zone number					*/
 double azimuth;		/* azimuth					*/
@@ -62,36 +62,36 @@
 
 	/* Function declarations for function pointer use
 	-----------------------------------------------*/
-long utmfor();
-long stplnfor();
-long alberfor();
-long lamccfor();
-long merfor();
-long psfor();
-long polyfor();
-long eqconfor();
-long tmfor();
-long sterfor();
-long lamazfor();
-long azimfor();
-long gnomfor();
-long orthfor();
-long gvnspfor();
-long sinfor();
-long equifor();
-long millfor();
-long vandgfor();
-long omerfor();
-long somfor();
-long hamfor();
-long robfor();
-long goodfor();
-long molwfor();
-long imolwfor();
-long alconfor();
-long wivfor();
-long wviifor();
-long obleqfor();
+ long utmfor(double, double, double *, double *);
+long stplnfor(double, double, double *, double *);
+long alberfor(double, double, double *, double *);
+long lamccfor(double, double, double *, double *);
+long merfor(double, double, double *, double *);
+long psfor(double, double, double *, double *);
+long polyfor(double, double, double *, double *);
+long eqconfor(double, double, double *, double *);
+long tmfor(double, double, double *, double *);
+long sterfor(double, double, double *, double *);
+long lamazfor(double, double, double *, double *);
+long azimfor(double, double, double *, double *);
+long gnomfor(double, double, double *, double *);
+long orthfor(double, double, double *, double *);
+long gvnspfor(double, double, double *, double *);
+long sinfor(double, double, double *, double *);
+long equifor(double, double, double *, double *);
+long millfor(double, double, double *, double *);
+long vandgfor(double, double, double *, double *);
+long omerfor(double, double, double *, double *);
+long somfor(double, double, double *, double *);
+long hamfor(double, double, double *, double *);
+long robfor(double, double, double *, double *);
+long goodfor(double, double, double *, double *);
+long molwfor(double, double, double *, double *);
+long imolwfor(double, double, double *, double *);
+long alconfor(double, double, double *, double *);
+long wivfor(double, double, double *, double *);
+long wviifor(double, double, double *, double *);
+long obleqfor(double, double, double *, double *);
 
 /* Initialize forward transformations
 -----------------------------------*/
--- a/source/somfor.c
+++ b/source/somfor.c
@@ -27,7 +27,7 @@
 #define LANDSAT_RATIO 0.5201613
 
 static double lon_center,a,b,a2,a4,c1,c3,q,t,u,w,xj,p21,sa,ca,es,s,start;
-static double som_series();
+static double som_series(double *, double *, double *, double *, double *, double *);
 static double false_easting;
 static double false_northing;
 
@@ -252,8 +252,8 @@
 
    Mathematical analysis by John Snyder 6/82
   --------------------------------------------------------------------------*/
-static double som_series(fb,fa2,fa4,fc1,fc3,dlam)
-double *fb,*fa2,*fa4,*fc1,*fc3,*dlam;
+static double som_series(double *fb,double *fa2,double *fa4,
+			 double *fc1,double *fc3,double *dlam)
 {
 double sd,sdsq,h,sq,fc;
 
