[geos-commits] [SCM] GEOS branch 3.12 updated. 14926fef3da92787793669f083499354c51ae603

git at osgeo.org git at osgeo.org
Sun Jan 14 12:39:51 PST 2024


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, 3.12 has been updated
       via  14926fef3da92787793669f083499354c51ae603 (commit)
      from  64124d45c18563de4a2fd6f930b3f2ca248797a0 (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 14926fef3da92787793669f083499354c51ae603
Author: Mike Taves <mwtoews at gmail.com>
Date:   Mon Jan 15 09:38:56 2024 +1300

    Fix StringTokenizer::peekNextToken (#1025)

diff --git a/NEWS.md b/NEWS.md
index 704b54491..c8e4d73a8 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -10,6 +10,7 @@ xxxx-xx-xx
   - Fix IsSimpleOp for MultiPoint with empty element (GH-1005, Martin Davis)
   - Fix PreparedPolygonContains for GC with MultiPoint (GH-1008, Martin Davis)
   - Fix TopologyPreservingSimplifier to prevent jumping components (GH-1012, Martin Davis)
+  - Fix reading WKT with EMPTY token with white space (GH-1025, Mike Taves)
 
 ## Changes in 3.12.1
 2023-11-11
diff --git a/src/io/StringTokenizer.cpp b/src/io/StringTokenizer.cpp
index 5735913cc..e016299eb 100644
--- a/src/io/StringTokenizer.cpp
+++ b/src/io/StringTokenizer.cpp
@@ -154,10 +154,8 @@ StringTokenizer::peekNextToken()
         return str[pos];
     }
 
-    // It's either a Number or a Word, let's
-    // see when it ends
-
-    pos = str.find_first_of("\n\r\t() ,", static_cast<string::size_type>(iter - str.begin()));
+    // It's either a Number or a Word, let's see when it ends
+    pos = str.find_first_of("\n\r\t() ,", pos + 1);
 
     if(pos == string::npos) {
         if(iter != str.end()) {
diff --git a/tests/unit/io/WKTReaderTest.cpp b/tests/unit/io/WKTReaderTest.cpp
index 3180a6686..37bc3010d 100644
--- a/tests/unit/io/WKTReaderTest.cpp
+++ b/tests/unit/io/WKTReaderTest.cpp
@@ -447,4 +447,15 @@ void object::test<22>
     ensure_dimension("MULTIPOINT ZM ((0 0 4 3), (1 2 4 5))", true, true);
 }
 
+// EMPTY token with some white space
+template<>
+template<>
+void object::test<23>
+()
+{
+    GeomPtr geom(wktreader.read("MULTIPOINT( EMPTY, (10 10), (20 20))"));
+
+    ensure_equals(geom->getNumGeometries(), 3u);
+}
+
 } // namespace tut

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

Summary of changes:
 NEWS.md                         |  1 +
 src/io/StringTokenizer.cpp      |  6 ++----
 tests/unit/io/WKTReaderTest.cpp | 11 +++++++++++
 3 files changed, 14 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list