Index: /branches/eam_branches/ipp-20230313/psLib/src/db/psDB.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/src/db/psDB.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/src/db/psDB.c	(revision 42500)
@@ -1040,5 +1040,5 @@
     fieldCount = mysql_num_fields(result);
 
-    psTrace("psLib.db", PS_LOG_INFO, "query returned %lld rows with %d fields",             rowCount, fieldCount);
+    psTrace("psLib.db", PS_LOG_INFO, "query returned %lu rows with %d fields",             rowCount, fieldCount);
 
     while ((row = mysql_fetch_row(result))) {
Index: /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psMatrix08.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psMatrix08.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psMatrix08.c	(revision 42500)
@@ -20,4 +20,26 @@
 psS32 main( psS32 argc, char* argv[] )
 {
+    fprintf (stderr, "path: %s\n", argv[0]);
+
+    char imApath[1024];
+    char imBpath[1024];
+    char topPath[1024];
+    char *libpath = strstr (argv[0], ".libs/");
+    if (!libpath) {
+	fprintf (stderr, "ERROR: cannot find input data\n");
+	exit (2);
+    }
+
+    // if (strncmp(argv[0], ".libs/", 6))
+    int nTopPath = libpath - argv[0]; // 
+    if (nTopPath) {
+	ps_strncpy_nowarn (topPath, argv[0], nTopPath); topPath[nTopPath] = 0;
+	ps_snprintf_nowarn (imApath, 1024, "%s/%s", topPath, "data/Agj.fits");
+	ps_snprintf_nowarn (imBpath, 1024, "%s/%s", topPath, "data/Bgj.fits");
+    } else {
+	ps_snprintf_nowarn (imApath, 1024, "%s", "data/Agj.fits");
+	ps_snprintf_nowarn (imBpath, 1024, "%s", "data/Bgj.fits");
+    }
+
     plan_tests(23);
     // psTraceSetLevel("psLib.math.psMatrixGJSolve", 4);
@@ -32,5 +54,5 @@
 	// XXX this is an ill-conditioned matrix.  LU Decomposition does not inform us that it is ill-conditioned.  
 	// the result solves the equation, but what are the errors on the values?
-	fits = psFitsOpen ("data/Agj.fits", "r");
+	fits = psFitsOpen (imApath, "r");
         ok(fits, "opened test image Agj.fits");
 
@@ -43,5 +65,5 @@
 	psFitsClose (fits);
 
-	fits = psFitsOpen ("data/Bgj.fits", "r");
+	fits = psFitsOpen (imBpath, "r");
         ok(fits, "opened test image Bgj.fits");
 
@@ -98,5 +120,5 @@
 
 	// we have a specific ill-conditioned matrix in Agj.fits. psMatrixGJSolve detects this and reports a failure.
-	fits = psFitsOpen ("data/Agj.fits", "r");
+	fits = psFitsOpen (imApath, "r");
         ok(fits, "opened test image Agj.fits");
 
@@ -106,5 +128,5 @@
 	psFitsClose (fits);
 
-	fits = psFitsOpen ("data/Bgj.fits", "r");
+	fits = psFitsOpen (imBpath, "r");
         ok(fits, "opened test image Bgj.fits");
 
@@ -147,5 +169,5 @@
 
 	// we have a specific ill-conditioned matrix in Agj.fits. psMatrixGJSolve detects this and reports a failure.
-	fits = psFitsOpen ("data/Agj.fits", "r");
+	fits = psFitsOpen (imApath, "r");
         ok(fits, "opened test image Agj.fits");
 
@@ -158,5 +180,5 @@
 	psFitsClose (fits);
 
-	fits = psFitsOpen ("data/Bgj.fits", "r");
+	fits = psFitsOpen (imBpath, "r");
         ok(fits, "opened test image Bgj.fits");
 
Index: /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psPolyFit_IRLS.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psPolyFit_IRLS.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psPolyFit_IRLS.c	(revision 42500)
@@ -84,4 +84,5 @@
 	ok(rc == true, "fit succeeded mechanically");
 
+# if (0)
 	// XXX test:
 	FILE *ftest = fopen ("irls.ft.dat", "w");
@@ -90,4 +91,5 @@
 	}
 	fclose (ftest);
+# endif
     } else {
 	diag ("ORD fits with %f outliers: sigma = %f", outfrac, sigma);
Index: /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psSpline1D.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psSpline1D.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/test/math/tap_psSpline1D.c	(revision 42500)
@@ -107,7 +107,7 @@
         psSpline1D *tmpSpline = NULL;
         if (!xNull) {
-            tmpSpline = psSpline1DFitVector(xF32, yF32);
+	    tmpSpline = psSpline1DFitVector(xF32, yF32, NAN, NAN);
         } else {
-            tmpSpline = psSpline1DFitVector(NULL, yF32);
+            tmpSpline = psSpline1DFitVector(NULL, yF32, NAN, NAN);
         }
 
@@ -120,32 +120,15 @@
                 testStatus = false;
             }
-            if(tmpSpline->spline == NULL) {
-                diag("psSpline1DFitVector() returned a NULL psSpline1D->spline member.");
-                testStatus = false;
-            }
-            for (psS32 i = 0 ; i < NumSplines ; i++) {
-                if (tmpSpline->spline[i] == NULL) {
-                    diag("psSpline1DFitVector() returned a NULL psSpline1D->spline[%d] member.", i);
-                    testStatus = false;
-                }
-            }
-            if (tmpSpline->knots == NULL) {
+            if (tmpSpline->xKnots == NULL) {
                 diag("psSpline1DFitVector() returned a NULL psSpline1D->knots member");
                 testStatus = false;
             }
-            if (tmpSpline->p_psDeriv2 == NULL) {
+            if (tmpSpline->yKnots == NULL) {
+                diag("psSpline1DFitVector() returned a NULL psSpline1D->knots member");
+                testStatus = false;
+            }
+            if (tmpSpline->d2yKnots == NULL) {
                 diag("psSpline1DFitVector()returned a NULL psSpline1D->p_psDeriv2 member");
                 testStatus = false;
-            }
-
-            // Test psSpline1DEval()
-            for (psS32 i=0;i<NumSplines;i++) {
-                psF32 x = 0.5 + (float) i;
-                psF32 y = psSpline1DEval(tmpSpline, x);
-                if (CheckErrorF32(y, func(x))) {
-                    testStatus = false;
-                    diag("TEST ERROR: f(%f) is %f, should be %f", x, y, myFunc00(x));
-		    // XXX EAM : the truth value above should be 'func' not myFunc00
-                }
             }
 
@@ -196,7 +179,7 @@
         psSpline1D *tmpSpline = NULL;
         if (!xNull) {
-            tmpSpline = psSpline1DFitVector(xF64, yF64);
+            tmpSpline = psSpline1DFitVector(xF64, yF64, NAN, NAN);
         } else {
-            tmpSpline = psSpline1DFitVector(NULL, yF64);
+            tmpSpline = psSpline1DFitVector(NULL, yF64, NAN, NAN);
         }
         if(tmpSpline == NULL) {
@@ -208,20 +191,14 @@
                 testStatus = false;
             }
-            if(tmpSpline->spline == NULL) {
-                diag("psSpline1DFitVector() returned a NULL psSpline1D->spline member.");
-                testStatus = false;
-            }
-            for (psS32 i = 0 ; i < NumSplines ; i++) {
-                if (tmpSpline->spline[i] == NULL) {
-                    diag("psSpline1DFitVector() returned a NULL psSpline1D->spline[%d] member.", i);
-                    testStatus = false;
-                }
-            }
-            if (tmpSpline->knots == NULL) {
-                diag("psSpline1DFitVector() returned a NULL psSpline1D->knots member");
-                testStatus = false;
-            }
-            if (tmpSpline->p_psDeriv2 == NULL) {
-                diag("psSpline1DFitVector()returned a NULL psSpline1D->p_psDeriv2 member");
+            if (tmpSpline->xKnots == NULL) {
+                diag("psSpline1DFitVector() returned a NULL psSpline1D->xKnots member");
+                testStatus = false;
+            }
+            if (tmpSpline->yKnots == NULL) {
+                diag("psSpline1DFitVector() returned a NULL psSpline1D->yKnots member");
+                testStatus = false;
+            }
+            if (tmpSpline->d2yKnots == NULL) {
+                diag("psSpline1DFitVector()returned a NULL psSpline1D->d2yKnots member");
                 testStatus = false;
             }
@@ -278,7 +255,7 @@
         skip_start(tmpSpline == NULL, 4, "Skipping tests because psSpline1DAlloc() failed");
         ok(tmpSpline->n == 0, "psSpline1DAlloc() properly set the psSpline1D->n member");
-        ok(tmpSpline->spline == NULL, "psSpline1DAlloc() properly set the psSpline1D->spline member");
-        ok(tmpSpline->knots == NULL, "psSpline1DAlloc() properly set the psSpline1D->knots member");
-        ok(tmpSpline->p_psDeriv2 == NULL, "psSpline1DAlloc() properly set the psSpline1D->p_psDeriv2 member");
+        ok(tmpSpline->xKnots   == NULL, "psSpline1DAlloc() properly set the psSpline1D->xKnots member");
+        ok(tmpSpline->yKnots   == NULL, "psSpline1DAlloc() properly set the psSpline1D->yKnots member");
+        ok(tmpSpline->d2yKnots == NULL, "psSpline1DAlloc() properly set the psSpline1D->d2yKnots member");
         psFree(tmpSpline);
         skip_end();
@@ -289,5 +266,5 @@
     {
         psMemId id = psMemGetId();
-        psSpline1D *tmpSpline = psSpline1DFitVector(NULL, NULL);
+        psSpline1D *tmpSpline = psSpline1DFitVector(NULL, NULL, NAN, NAN);
         ok(tmpSpline == NULL, "psSpline1DFitVector() returns NULL with NULL arguments");
         ok(!psMemCheckLeaks (id, NULL, NULL, false), "no memory leaks");
Index: /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigFormat.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigFormat.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigFormat.c	(revision 42500)
@@ -101,5 +101,5 @@
             "containing a NULL time.");
         char configTest[32];
-        strncpy(configTest, "time             TAI       NULL", 31);
+        ps_strncpy_nowarn(configTest, "time             TAI       NULL", 31);
         is_strn(configTest, out, 31,
                 "psMetadataConfigFormat:         return correct output string.");
Index: /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigWrite.c
===================================================================
--- /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigWrite.c	(revision 42499)
+++ /branches/eam_branches/ipp-20230313/psLib/test/types/tap_psMetadataConfigWrite.c	(revision 42500)
@@ -74,6 +74,5 @@
         FILE *mdcfg = fopen("mdcfg.wrt", "r");
         fgets(fileStr, 61, mdcfg);
-        strncpy(configTest,
-                "item1-1          BOOL      T                # I am a boolean", 60);
+        ps_strncpy_nowarn(configTest, "item1-1          BOOL      T                # I am a boolean", 60);
         is_strn(configTest, fileStr, 60,
                 "return correct output.");
