head 1.4; access; symbols; locks; strict; comment @// @; 1.4 date 2025.09.15.11.19.17; author gdt; state dead; branches; next 1.3; commitid GQjCQPDAbXMuLNaG; 1.3 date 2025.07.03.23.40.38; author gdt; state Exp; branches; next 1.2; commitid 46aXoacSoTDgfm1G; 1.2 date 2025.07.03.17.55.04; author gdt; state Exp; branches; next 1.1; commitid sCpzUD8lgPDFkk1G; 1.1 date 2025.07.03.17.39.44; author gdt; state Exp; branches; next ; commitid bVDfd8oKiEO6fk1G; desc @@ 1.4 log @geography/proj: Update to 9.7.0 Tested with qgis. Upstream NEWS content: * Implement 'exact' authalic latitude->geographic latitude and use it in `+proj=aea/cea/laea/eqearth/healpix/rhealpix` (#4441) * Implement uniform conversions between auxiliary latitudes (#4446) * WKT2 parser: recognize `DEFININGTRANSFORMATION` (but ignore it) (#4484) * Database: add values from `alias_name` table that were removed in older EPSG releases, to improve recognizing old WKT strings (#4490) * `proj_trans_bounds()`: sample points within the source grid to avoid missing extent such as world-wide coverage from EPSG:4326 to ESRI:54099 (Spilhaus) (#4513) * Enable `-Wimplicit-fallthrough`, `-Wdeprecated-copy-dtor`, `-Wweak-vtables`, `-Wdocumentation-unknown-command` when possible (#4516) * Geostationary projection: speed up inverse spherical and ellipsoidal computation (#4523) * WKT importer: better error message when `BBOX` is invalid (e.g south_lat > north_lat) (#4525) * Added `proj_geod_direct` for PJ trasformation object (#4532) * Support exporting Mercator (Spherical) on a sphere as `Mercator_1SP` in WKT1 (#4555) * Database: update to EPSG v12.022 (#4562) @ text @$NetBSD: patch-src_iso19111_internal.cpp,v 1.3 2025/07/03 23:40:38 gdt Exp $ Fix ctype usage. From https://github.com/OSGeo/PROJ/pull/4539 --- src/iso19111/internal.cpp.orig 2025-04-01 21:34:48.000000000 +0000 +++ src/iso19111/internal.cpp @@@@ -129,8 +129,9 @@@@ std::string tolower(const std::string &s { std::string ret(str); - for (size_t i = 0; i < ret.size(); i++) - ret[i] = static_cast(::tolower(ret[i])); + for (char &ch : ret) + ch = + (ch >= 'A' && ch <= 'Z') ? static_cast(ch + ('a' - 'A')) : ch; return ret; } @@@@ -144,8 +145,9 @@@@ std::string toupper(const std::string &s { std::string ret(str); - for (size_t i = 0; i < ret.size(); i++) - ret[i] = static_cast(::toupper(ret[i])); + for (char &ch : ret) + ch = + (ch >= 'a' && ch <= 'z') ? static_cast(ch - ('a' - 'A')) : ch; return ret; } @ 1.3 log @geography/proj: Adjust ctype(3) approach to follow upstream Upstream prefers a slightly different fix. Plus, I found another issue, patched here and filed upstream. proj tests now pass on NetBSD current amd64. @ text @d1 1 a1 1 $NetBSD: patch-src_iso19111_internal.cpp,v 1.2 2025/07/03 17:55:04 gdt Exp $ @ 1.2 log @geography/proj: Add upstream issue URL @ text @d1 1 a1 1 $NetBSD: patch-src_iso19111_internal.cpp,v 1.1 2025/07/03 17:39:44 gdt Exp $ d3 1 a3 1 Fix ctype abuse, which causes test failures on NetBSD-current (11). d5 1 a5 1 https://github.com/OSGeo/PROJ/issues/4537 d7 1 a7 1 --- src/iso19111/internal.cpp.orig 2025-07-03 13:10:59.122964425 +0000 d9 2 a10 1 @@@@ -130,7 +130,7 @@@@ std::string tolower(const std::string &s d13 1 a13 1 for (size_t i = 0; i < ret.size(); i++) d15 3 a17 1 + ret[i] = static_cast(::tolower((unsigned char) ret[i])); d21 2 a22 1 @@@@ -145,7 +145,7 @@@@ std::string toupper(const std::string &s d25 1 a25 1 for (size_t i = 0; i < ret.size(); i++) d27 3 a29 1 + ret[i] = static_cast(::toupper((unsigned char) ret[i])); @ 1.1 log @geography/proj: Add patches to fix ctype(3) abuse Fixes pkg/59490, qgis failure to build on NetBSD-current. @ text @d1 1 a1 1 $NetBSD$ d5 1 a5 1 Not yet reported upstream. @