[geos-commits] [SCM] GEOS branch main updated. 8d87edcd51653b47ca955cc3a9ac744f41988d92

git at osgeo.org git at osgeo.org
Sun Jan 14 12:26:46 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, main has been updated
       via  8d87edcd51653b47ca955cc3a9ac744f41988d92 (commit)
      from  6f70b63a0d976ce31dd2952094bc1a39209f8a20 (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 8d87edcd51653b47ca955cc3a9ac744f41988d92
Author: Mike Taves <mwtoews at gmail.com>
Date:   Mon Jan 15 09:26:11 2024 +1300

    Fix StringTokenizer::peekNextToken (#1025)

diff --git a/NEWS.md b/NEWS.md
index f87417ae7..4168532c9 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -24,6 +24,7 @@
   - Fix DiscreteHausdorffDistance for LinearRing (GH-1000, Martin Davis)
   - Fix IsSimpleOp for MultiPoint with empty element (GH-1005, Martin Davis)
   - Fix PreparedPolygonContains for GC with MultiPoint (GH-1008, Martin Davis)
+  - Fix reading WKT with EMPTY token with white space (GH-1025, Mike Taves)
 
 ## Changes in 3.12.0
 2023-06-27
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 b247ba844..59e5f1b25 100644
--- a/tests/unit/io/WKTReaderTest.cpp
+++ b/tests/unit/io/WKTReaderTest.cpp
@@ -462,5 +462,15 @@ void object::test<23>
     ensure(std::isnan(coords->getY(0)));
 }
 
+// EMPTY token with some white space
+template<>
+template<>
+void object::test<24>
+()
+{
+    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 | 10 ++++++++++
 3 files changed, 13 insertions(+), 4 deletions(-)


hooks/post-receive
-- 
GEOS


More information about the geos-commits mailing list