[geos-commits] [SCM] GEOS branch master updated. 4ad366c6c2d6c609a84434793fe8fc106298a4db

git at osgeo.org git at osgeo.org
Tue Nov 3 15:04:21 PST 2020


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GEOS".

The branch, master has been updated
       via  4ad366c6c2d6c609a84434793fe8fc106298a4db (commit)
      from  f7be9fe7da9e6eb549f50a68bb9f4a990ffb0d95 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 4ad366c6c2d6c609a84434793fe8fc106298a4db
Author: Paul Ramsey <pramsey at cleverelephant.ca>
Date:   Tue Nov 3 15:04:17 2020 -0800

    Add GitHub Actions recipe in preparation for the loss of Travis

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..2007c7f
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,113 @@
+# GitHub Actions for GEOS
+#
+# Paul Ramsey <pramsey at cleverelephant dot ca>
+# Based on AZP configuration by Mateusz Loskot <mateusz at loskot dot net>
+
+name: CI
+on: [push, pull_request]
+
+env:
+  BUILD_TYPE: 'Release'
+  MAKEFLAGS: '-j2'
+
+jobs:
+  linux:
+    name: 'Linux'
+    strategy:
+      matrix:
+        ci:
+        - {
+          compiler: g++,
+          build: cmake,
+          cxxstd: 11,
+          arch: 64,
+          packages: 'g++ cmake doxygen',
+          os: ubuntu-18.04
+        }
+        - {
+          compiler: g++,
+          build: autotools,
+          cxxstd: 11,
+          arch: 64,
+          packages: 'g++ automake doxygen git2cl',
+          os: ubuntu-18.04
+        }
+        - {
+          compiler: g++,
+          build: autotools,
+          cxxstd: 11,
+          arch: 32,
+          packages: 'g++-4.8-multilib gcc-4.8-multilib g++-multilib gcc-multilib doxygen automake git2cl',
+          os: ubuntu-18.04
+        }
+        - {
+          compiler: clang++,
+          build: cmake,
+          cxxstd: 11,
+          arch: 64,
+          packages: 'clang cmake doxygen',
+          os: ubuntu-18.04
+        }
+        - {
+          compiler: g++,
+          build: cmake,
+          cxxstd: 11,
+          arch: 64,
+          packages: 'g++ cmake doxygen',
+          os: ubuntu-20.04
+        }
+        - {
+          compiler: clang++,
+          build: cmake,
+          cxxstd: 11,
+          arch: 64,
+          packages: 'clang cmake doxygen',
+          os: ubuntu-16.04
+        }
+        - {
+          compiler: clang++,
+          build: cmake,
+          cxxstd: 14,
+          arch: 64,
+          packages: 'clang cmake doxygen',
+          os: ubuntu-20.04
+        }
+
+
+    runs-on: ${{ matrix.ci.os }}
+    steps:
+
+    - name: 'Install'
+      run: |
+        set -e
+        uname -a
+        sudo -E apt-get update
+        sudo -E apt-get -yq --no-install-suggests --no-install-recommends install make ${{ matrix.ci.packages }}
+
+    - name: 'Check Out'
+      uses: actions/checkout at v2
+
+    - name: 'Build'
+      run: |
+        set -e
+        if [ ${{ matrix.ci.build }} == 'cmake' ];
+        then
+          mkdir build.cmake
+          cd build.cmake
+          cmake --version
+          cmake -DCMAKE_CXX_COMPILER=${{ matrix.ci.compiler }} -DCMAKE_CXX_STANDARD=${{ matrix.ci.cxxstd }} -DBUILD_DOCUMENTATION=YES -DCMAKE_BUILD_TYPE=$BUILD_TYPE ..
+          make
+          cmake --build . --target docs
+          ctest --output-on-failure .
+        else
+          set -e
+          ./autogen.sh
+          mkdir build.autotools
+          cd build.autotools
+          CFLAGS="-std=c++${{ matrix.ci.cxxstd }} -m${{ matrix.ci.arch }}"
+          ../configure CC=${{ matrix.ci.compiler }} CXX=${{ matrix.ci.compiler }} CXXFLAGS="$CFLAGS" CFLAGS="$CFLAGS"
+          make && make check && make distcheck
+        fi
+
+
+
diff --git a/tests/geostest/geostest.c b/tests/geostest/geostest.c
index fbce49d..95db390 100644
--- a/tests/geostest/geostest.c
+++ b/tests/geostest/geostest.c
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  * Author: Sandro Santilli <strk at kbt.io>
@@ -36,7 +36,7 @@ notice(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "NOTICE: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -48,7 +48,7 @@ log_and_exit(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "ERROR: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -56,7 +56,7 @@ log_and_exit(const char *fmt, ...) {
 	exit(1);
 }
 
-GEOSGeometry* 
+GEOSGeometry*
 fineGrainedReconstructionTest(const GEOSGeometry* g1)
 {
 	GEOSCoordSequence* cs;
@@ -91,7 +91,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 			cs = GEOSCoordSeq_clone(GEOSGeom_getCoordSeq(gtmp));
 			shell = GEOSGeom_createLinearRing(cs);
 			ngeoms = GEOSGetNumInteriorRings(g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetInteriorRingN(g1, i);
@@ -107,7 +107,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 		case GEOS_MULTIPOLYGON:
 		case GEOS_GEOMETRYCOLLECTION:
 			ngeoms = GEOSGetNumGeometries(g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetGeometryN(g1, i);
@@ -115,7 +115,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 			}
 			g2 = GEOSGeom_createCollection(type, geoms, ngeoms);
 			free(geoms);
-			return g2; 
+			return g2;
 			break;
 		default:
 			log_and_exit("Unknown geometry type %d\n", type);
@@ -165,7 +165,7 @@ do_all(char *inputfile)
 
 	/* WKT output */
 	ptr = GEOSGeomToWKT(g1);
-	printf("Input (WKT): %s\n", ptr); 
+	printf("Input (WKT): %s\n", ptr);
 	free(ptr);
 
 	/* WKB output */
@@ -203,7 +203,7 @@ do_all(char *inputfile)
 		log_and_exit("GEOSConvexHull() raised an exception");
 	}
 	ptr = GEOSGeomToWKT(g2);
-	printf("ConvexHull: %s\n", ptr); 
+	printf("ConvexHull: %s\n", ptr);
 	free(ptr);
 
 	/* Buffer */
@@ -214,7 +214,7 @@ do_all(char *inputfile)
 		log_and_exit("GEOSBuffer() raised an exception");
 	}
 	ptr = GEOSGeomToWKT(g1);
-	printf("Buffer: %s\n", ptr); 
+	printf("Buffer: %s\n", ptr);
 	free(ptr);
 
 
@@ -228,27 +228,27 @@ do_all(char *inputfile)
 		log_and_exit("Intersection(g, Buffer(g)) didn't return g");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("Intersection: %s\n", ptr); 
+	printf("Intersection: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
 	/* Difference */
 	g3 = GEOSDifference(g1, g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Difference: %s\n", ptr); 
+	printf("Difference: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
 	/* SymDifference */
 	g3 = GEOSSymDifference(g1, g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("SymDifference: %s\n", ptr); 
+	printf("SymDifference: %s\n", ptr);
 	free(ptr);
 
 	/* Boundary */
 	g4 = GEOSBoundary(g3);
 	ptr = GEOSGeomToWKT(g4);
-	printf("Boundary: %s\n", ptr); 
+	printf("Boundary: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	GEOSGeom_destroy(g4);
 	free(ptr);
@@ -263,13 +263,13 @@ do_all(char *inputfile)
 		log_and_exit("Union(g, Buffer(g)) didn't return Buffer(g)");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("Union: %s\n", ptr); 
+	printf("Union: %s\n", ptr);
 	free(ptr);
 
 	/* PointOnSurcace */
 	g4 = GEOSPointOnSurface(g3);
 	ptr = GEOSGeomToWKT(g4);
-	printf("PointOnSurface: %s\n", ptr); 
+	printf("PointOnSurface: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	GEOSGeom_destroy(g4);
 	free(ptr);
@@ -277,7 +277,7 @@ do_all(char *inputfile)
 	/* Centroid */
 	g3 = GEOSGetCentroid(g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Centroid: %s\n", ptr); 
+	printf("Centroid: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
@@ -290,7 +290,7 @@ do_all(char *inputfile)
 		free(ptr);
 		log_and_exit("! RelatePattern(g1, g2, Relate(g1, g2))");
 	}
-	printf("Relate: %s\n", ptr); 
+	printf("Relate: %s\n", ptr);
 	free(ptr);
 
 	/* Polygonize */
@@ -305,7 +305,7 @@ do_all(char *inputfile)
 	}
 	ptr = GEOSGeomToWKT(g3);
 	GEOSGeom_destroy(g3);
-	printf("Polygonize: %s\n", ptr); 
+	printf("Polygonize: %s\n", ptr);
 	free(ptr);
 
 	/* LineMerge */
@@ -315,7 +315,7 @@ do_all(char *inputfile)
 		log_and_exit("Exception running GEOSLineMerge");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("LineMerge: %s\n", ptr); 
+	printf("LineMerge: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
 
@@ -352,14 +352,14 @@ do_all(char *inputfile)
 	/* Simplify */
 	g3 = GEOSSimplify(g1, 0.5);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
-    
+
 	/* Topology Preserve Simplify */
 	g3 = GEOSTopologyPreserveSimplify(g1, 0.5);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
 
diff --git a/tests/thread/badthreadtest.c b/tests/thread/badthreadtest.c
index 422ddea..bc1f412 100644
--- a/tests/thread/badthreadtest.c
+++ b/tests/thread/badthreadtest.c
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  * Author: Sandro Santilli <strk at kbt.io>
@@ -62,7 +62,7 @@ notice(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "NOTICE: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -74,7 +74,7 @@ log_and_exit(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "ERROR: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -108,7 +108,7 @@ log_and_exit2(const char *fmt, ...) {
         pthread_exit(NULL);
 }
 
-GEOSGeometry* 
+GEOSGeometry*
 fineGrainedReconstructionTest(const GEOSGeometry* g1)
 {
 	GEOSCoordSequence* cs;
@@ -143,7 +143,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 			cs = GEOSCoordSeq_clone(GEOSGeom_getCoordSeq(gtmp));
 			shell = GEOSGeom_createLinearRing(cs);
 			ngeoms = GEOSGetNumInteriorRings(g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetInteriorRingN(g1, i);
@@ -159,7 +159,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 		case GEOS_MULTIPOLYGON:
 		case GEOS_GEOMETRYCOLLECTION:
 			ngeoms = GEOSGetNumGeometries(g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetGeometryN(g1, i);
@@ -167,7 +167,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1)
 			}
 			g2 = GEOSGeom_createCollection(type, geoms, ngeoms);
 			free(geoms);
-			return g2; 
+			return g2;
 			break;
 		default:
 			log_and_exit("Unknown geometry type %d\n", type);
@@ -217,7 +217,7 @@ do_all(char *inputfile)
 
 	/* WKT output */
 	ptr = GEOSGeomToWKT(g1);
-	printf("Input (WKT): %s\n", ptr); 
+	printf("Input (WKT): %s\n", ptr);
 	free(ptr);
 
 	/* WKB output */
@@ -255,7 +255,7 @@ do_all(char *inputfile)
 		log_and_exit("GEOSConvexHull() raised an exception");
 	}
 	ptr = GEOSGeomToWKT(g2);
-	printf("ConvexHull: %s\n", ptr); 
+	printf("ConvexHull: %s\n", ptr);
 	free(ptr);
 
 	/* Buffer */
@@ -266,7 +266,7 @@ do_all(char *inputfile)
 		log_and_exit("GEOSBuffer() raised an exception");
 	}
 	ptr = GEOSGeomToWKT(g1);
-	printf("Buffer: %s\n", ptr); 
+	printf("Buffer: %s\n", ptr);
 	free(ptr);
 
 
@@ -280,27 +280,27 @@ do_all(char *inputfile)
 		log_and_exit("Intersection(g, Buffer(g)) didn't return g");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("Intersection: %s\n", ptr); 
+	printf("Intersection: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
 	/* Difference */
 	g3 = GEOSDifference(g1, g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Difference: %s\n", ptr); 
+	printf("Difference: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
 	/* SymDifference */
 	g3 = GEOSSymDifference(g1, g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("SymDifference: %s\n", ptr); 
+	printf("SymDifference: %s\n", ptr);
 	free(ptr);
 
 	/* Boundary */
 	g4 = GEOSBoundary(g3);
 	ptr = GEOSGeomToWKT(g4);
-	printf("Boundary: %s\n", ptr); 
+	printf("Boundary: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	GEOSGeom_destroy(g4);
 	free(ptr);
@@ -315,13 +315,13 @@ do_all(char *inputfile)
 		log_and_exit("Union(g, Buffer(g)) didn't return Buffer(g)");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("Union: %s\n", ptr); 
+	printf("Union: %s\n", ptr);
 	free(ptr);
 
 	/* PointOnSurcace */
 	g4 = GEOSPointOnSurface(g3);
 	ptr = GEOSGeomToWKT(g4);
-	printf("PointOnSurface: %s\n", ptr); 
+	printf("PointOnSurface: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	GEOSGeom_destroy(g4);
 	free(ptr);
@@ -329,7 +329,7 @@ do_all(char *inputfile)
 	/* Centroid */
 	g3 = GEOSGetCentroid(g2);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Centroid: %s\n", ptr); 
+	printf("Centroid: %s\n", ptr);
 	GEOSGeom_destroy(g3);
 	free(ptr);
 
@@ -342,7 +342,7 @@ do_all(char *inputfile)
 		free(ptr);
 		log_and_exit("! RelatePattern(g1, g2, Relate(g1, g2))");
 	}
-	printf("Relate: %s\n", ptr); 
+	printf("Relate: %s\n", ptr);
 	free(ptr);
 
 	/* Polygonize */
@@ -357,7 +357,7 @@ do_all(char *inputfile)
 	}
 	ptr = GEOSGeomToWKT(g3);
 	GEOSGeom_destroy(g3);
-	printf("Polygonize: %s\n", ptr); 
+	printf("Polygonize: %s\n", ptr);
 	free(ptr);
 
 	/* LineMerge */
@@ -367,7 +367,7 @@ do_all(char *inputfile)
 		log_and_exit("Exception running GEOSLineMerge");
 	}
 	ptr = GEOSGeomToWKT(g3);
-	printf("LineMerge: %s\n", ptr); 
+	printf("LineMerge: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
 
@@ -392,14 +392,14 @@ do_all(char *inputfile)
 	/* Simplify */
 	g3 = GEOSSimplify(g1, 0.5);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
-    
+
 	/* Topology Preserve Simplify */
 	g3 = GEOSTopologyPreserveSimplify(g1, 0.5);
 	ptr = GEOSGeomToWKT(g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy(g3);
 
diff --git a/tests/thread/threadtest.c b/tests/thread/threadtest.c
index bb67759..87a37aa 100644
--- a/tests/thread/threadtest.c
+++ b/tests/thread/threadtest.c
@@ -7,7 +7,7 @@
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation. 
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  * Author: Sandro Santilli <strk at kbt.io>
@@ -38,7 +38,7 @@ notice1(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "NOTICE1: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -50,7 +50,7 @@ notice2(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "NOTICE2: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -62,7 +62,7 @@ log_and_exit(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "ERROR: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -75,7 +75,7 @@ log_and_exit1(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "ERROR1: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -88,7 +88,7 @@ log_and_exit2(const char *fmt, ...) {
 	va_list ap;
 
         fprintf( stdout, "ERROR2: ");
-        
+
 	va_start (ap, fmt);
         vfprintf( stdout, fmt, ap);
         va_end(ap);
@@ -96,8 +96,8 @@ log_and_exit2(const char *fmt, ...) {
 	pthread_exit(NULL);
 }
 
-GEOSGeometry* 
-fineGrainedReconstructionTest(const GEOSGeometry* g1, 
+GEOSGeometry*
+fineGrainedReconstructionTest(const GEOSGeometry* g1,
                               GEOSContextHandle_t handle)
 {
 	GEOSCoordSequence* cs;
@@ -113,36 +113,36 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1,
 	switch ( type )
 	{
 		case GEOS_POINT:
-			cs = GEOSCoordSeq_clone_r(handle, 
+			cs = GEOSCoordSeq_clone_r(handle,
                                  GEOSGeom_getCoordSeq_r(handle, g1));
 			g2 = GEOSGeom_createPoint_r(handle, cs);
 			return g2;
 			break;
 		case GEOS_LINESTRING:
-			cs = GEOSCoordSeq_clone_r(handle, 
+			cs = GEOSCoordSeq_clone_r(handle,
                                  GEOSGeom_getCoordSeq_r(handle, g1));
 			g2 = GEOSGeom_createLineString_r(handle, cs);
 			return g2;
 			break;
 		case GEOS_LINEARRING:
-			cs = GEOSCoordSeq_clone_r(handle, 
+			cs = GEOSCoordSeq_clone_r(handle,
                                  GEOSGeom_getCoordSeq_r(handle, g1));
 			g2 = GEOSGeom_createLinearRing_r(handle, cs);
 			return g2;
 			break;
 		case GEOS_POLYGON:
 			gtmp = GEOSGetExteriorRing_r(handle, g1);
-			cs = GEOSCoordSeq_clone_r(handle, 
+			cs = GEOSCoordSeq_clone_r(handle,
                                  GEOSGeom_getCoordSeq_r(handle, gtmp));
 			shell = GEOSGeom_createLinearRing_r(handle, cs);
 			ngeoms = GEOSGetNumInteriorRings_r(handle, g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetInteriorRingN_r(handle, g1, i);
-				cs = GEOSCoordSeq_clone_r(handle, 
+				cs = GEOSCoordSeq_clone_r(handle,
                                          GEOSGeom_getCoordSeq_r(handle, gtmp));
-				geoms[i] = GEOSGeom_createLinearRing_r(handle, 
+				geoms[i] = GEOSGeom_createLinearRing_r(handle,
                                                                         cs);
 			}
 			g2 = GEOSGeom_createPolygon_r(handle, shell, geoms,
@@ -155,7 +155,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1,
 		case GEOS_MULTIPOLYGON:
 		case GEOS_GEOMETRYCOLLECTION:
 			ngeoms = GEOSGetNumGeometries_r(handle, g1);
-			geoms = malloc(ngeoms*sizeof(GEOSGeometry*));
+			geoms = (GEOSGeometry**)malloc(ngeoms*sizeof(GEOSGeometry*));
 			for (i=0; i<ngeoms; i++)
 			{
 				gtmp = GEOSGetGeometryN_r(handle, g1, i);
@@ -165,7 +165,7 @@ fineGrainedReconstructionTest(const GEOSGeometry* g1,
 			g2 = GEOSGeom_createCollection_r(handle, type, geoms,
                                                           ngeoms);
 			free(geoms);
-			return g2; 
+			return g2;
 			break;
 		default:
 			log_and_exit("Unknown geometry type %d\n", type);
@@ -215,7 +215,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 
 	/* WKT output */
 	ptr = GEOSGeomToWKT_r(handle, g1);
-	printf("Input (WKT): %s\n", ptr); 
+	printf("Input (WKT): %s\n", ptr);
 	free(ptr);
 
 	/* WKB output */
@@ -253,7 +253,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		log_and_exit("GEOSConvexHull() raised an exception");
 	}
 	ptr = GEOSGeomToWKT_r(handle, g2);
-	printf("ConvexHull: %s\n", ptr); 
+	printf("ConvexHull: %s\n", ptr);
 	free(ptr);
 
 	/* Buffer */
@@ -264,7 +264,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		log_and_exit("GEOSBuffer() raised an exception");
 	}
 	ptr = GEOSGeomToWKT_r(handle, g1);
-	printf("Buffer: %s\n", ptr); 
+	printf("Buffer: %s\n", ptr);
 	free(ptr);
 
 
@@ -278,27 +278,27 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		log_and_exit("Intersection(g, Buffer(g)) didn't return g");
 	}
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Intersection: %s\n", ptr); 
+	printf("Intersection: %s\n", ptr);
 	GEOSGeom_destroy_r(handle, g3);
 	free(ptr);
 
 	/* Difference */
 	g3 = GEOSDifference_r(handle, g1, g2);
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Difference: %s\n", ptr); 
+	printf("Difference: %s\n", ptr);
 	GEOSGeom_destroy_r(handle, g3);
 	free(ptr);
 
 	/* SymDifference */
 	g3 = GEOSSymDifference_r(handle, g1, g2);
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("SymDifference: %s\n", ptr); 
+	printf("SymDifference: %s\n", ptr);
 	free(ptr);
 
 	/* Boundary */
 	g4 = GEOSBoundary_r(handle, g3);
 	ptr = GEOSGeomToWKT_r(handle, g4);
-	printf("Boundary: %s\n", ptr); 
+	printf("Boundary: %s\n", ptr);
 	GEOSGeom_destroy_r(handle, g3);
 	GEOSGeom_destroy_r(handle, g4);
 	free(ptr);
@@ -313,13 +313,13 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		log_and_exit("Union(g, Buffer(g)) didn't return Buffer(g)");
 	}
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Union: %s\n", ptr); 
+	printf("Union: %s\n", ptr);
 	free(ptr);
 
 	/* PointOnSurcace */
 	g4 = GEOSPointOnSurface_r(handle, g3);
 	ptr = GEOSGeomToWKT_r(handle, g4);
-	printf("PointOnSurface: %s\n", ptr); 
+	printf("PointOnSurface: %s\n", ptr);
 	GEOSGeom_destroy_r(handle, g3);
 	GEOSGeom_destroy_r(handle, g4);
 	free(ptr);
@@ -327,7 +327,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 	/* Centroid */
 	g3 = GEOSGetCentroid_r(handle, g2);
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Centroid: %s\n", ptr); 
+	printf("Centroid: %s\n", ptr);
 	GEOSGeom_destroy_r(handle, g3);
 	free(ptr);
 
@@ -340,7 +340,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		free(ptr);
 		log_and_exit("! RelatePattern(g1, g2, Relate(g1, g2))");
 	}
-	printf("Relate: %s\n", ptr); 
+	printf("Relate: %s\n", ptr);
 	free(ptr);
 
 	/* Polygonize */
@@ -355,7 +355,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 	}
 	ptr = GEOSGeomToWKT_r(handle, g3);
 	GEOSGeom_destroy_r(handle, g3);
-	printf("Polygonize: %s\n", ptr); 
+	printf("Polygonize: %s\n", ptr);
 	free(ptr);
 
 	/* LineMerge */
@@ -365,7 +365,7 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 		log_and_exit("Exception running GEOSLineMerge");
 	}
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("LineMerge: %s\n", ptr); 
+	printf("LineMerge: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy_r(handle, g3);
 
@@ -390,14 +390,14 @@ do_all(char *inputfile, GEOSContextHandle_t handle)
 	/* Simplify */
 	g3 = GEOSSimplify_r(handle, g1, 0.5);
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy_r(handle, g3);
-    
+
 	/* Topology Preserve Simplify */
 	g3 = GEOSTopologyPreserveSimplify_r(handle, g1, 0.5);
 	ptr = GEOSGeomToWKT_r(handle, g3);
-	printf("Simplify: %s\n", ptr); 
+	printf("Simplify: %s\n", ptr);
 	free(ptr);
 	GEOSGeom_destroy_r(handle, g3);
 
@@ -411,7 +411,7 @@ void *threadfunc1( void *arg )
     GEOSContextHandle_t handle = NULL;
 
     handle = initGEOS_r( notice1, log_and_exit1 );
-    printf("GEOS version %s\n", GEOSversion(handle));
+    printf("GEOS version %s\n", GEOSversion());
     putc('.', stderr); fflush(stderr);
     do_all((char*)arg, handle);
     putc('+', stderr); fflush(stderr);
@@ -425,7 +425,7 @@ void *threadfunc2( void *arg )
     GEOSContextHandle_t handle = NULL;
 
     handle = initGEOS_r( notice2, log_and_exit2 );
-    printf("GEOS version %s\n", GEOSversion(handle));
+    printf("GEOS version %s\n", GEOSversion());
     putc('.', stderr); fflush(stderr);
     do_all((char *)arg, handle);
     putc('+', stderr); fflush(stderr);

-----------------------------------------------------------------------

Summary of changes:
 .github/workflows/ci.yml     | 113 +++++++++++++++++++++++++++++++++++++++++++
 tests/geostest/geostest.c    |  46 +++++++++---------
 tests/thread/badthreadtest.c |  46 +++++++++---------
 tests/thread/threadtest.c    |  70 +++++++++++++--------------
 4 files changed, 194 insertions(+), 81 deletions(-)
 create mode 100644 .github/workflows/ci.yml


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list