aboutsummaryrefslogtreecommitdiff
path: root/src/projections/tmerc.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2020-03-07 01:02:33 +0100
committerEven Rouault <even.rouault@spatialys.com>2020-03-10 18:01:43 +0100
commitdc4acc001e7d5cd1f4d9af49eeb7e3770a1d5637 (patch)
treedf3e637ff060e8ddfd78cf20eec8c6b741f79690 /src/projections/tmerc.cpp
parentfc1a72314c31f2a3dfdbce44e4f5025abd57f365 (diff)
downloadPROJ-dc4acc001e7d5cd1f4d9af49eeb7e3770a1d5637.tar.gz
PROJ-dc4acc001e7d5cd1f4d9af49eeb7e3770a1d5637.zip
utm/ups: make sure to set errno to PJD_ERR_ELLIPSOID_USE_REQUIRED if es==0
ENOMEM was wrongly set after setting PJD_ERR_ELLIPSOID_USE_REQUIRED Note: it is a bit strange to forbid the pure spherical case whereas the maths would allow it. I presume this is due to the typical usage of those methods.
Diffstat (limited to 'src/projections/tmerc.cpp')
-rw-r--r--src/projections/tmerc.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/projections/tmerc.cpp b/src/projections/tmerc.cpp
index 4b2a96f0..eda1f23d 100644
--- a/src/projections/tmerc.cpp
+++ b/src/projections/tmerc.cpp
@@ -22,7 +22,7 @@
PROJ_HEAD(tmerc, "Transverse Mercator") "\n\tCyl, Sph&Ell\n\tapprox";
PROJ_HEAD(etmerc, "Extended Transverse Mercator") "\n\tCyl, Sph";
-PROJ_HEAD(utm, "Universal Transverse Mercator (UTM)") "\n\tCyl, Sph\n\tzone= south approx";
+PROJ_HEAD(utm, "Universal Transverse Mercator (UTM)") "\n\tCyl, Ell\n\tzone= south approx";
namespace { // anonymous namespace
struct pj_opaque_approx {
@@ -541,8 +541,7 @@ PJ *PROJECTION(etmerc) {
PJ *PROJECTION(utm) {
long zone;
if (P->es == 0.0) {
- proj_errno_set(P, PJD_ERR_ELLIPSOID_USE_REQUIRED);
- return pj_default_destructor(P, ENOMEM);
+ return pj_default_destructor(P, PJD_ERR_ELLIPSOID_USE_REQUIRED);
}
if (P->lam0 < -1000.0 || P->lam0 > 1000.0) {
return pj_default_destructor(P, PJD_ERR_INVALID_UTM_ZONE);