diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2020-03-07 01:02:33 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2020-03-10 18:01:43 +0100 |
| commit | dc4acc001e7d5cd1f4d9af49eeb7e3770a1d5637 (patch) | |
| tree | df3e637ff060e8ddfd78cf20eec8c6b741f79690 /src/projections/tmerc.cpp | |
| parent | fc1a72314c31f2a3dfdbce44e4f5025abd57f365 (diff) | |
| download | PROJ-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.cpp | 5 |
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); |
