aboutsummaryrefslogtreecommitdiff
path: root/src/projections/urmfps.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/projections/urmfps.cpp')
-rw-r--r--src/projections/urmfps.cpp21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/projections/urmfps.cpp b/src/projections/urmfps.cpp
index 5d689f9f..36c2b7d1 100644
--- a/src/projections/urmfps.cpp
+++ b/src/projections/urmfps.cpp
@@ -49,16 +49,21 @@ static PJ *setup(PJ *P) {
PJ *PROJECTION(urmfps) {
struct pj_opaque *Q = static_cast<struct pj_opaque*>(calloc (1, sizeof (struct pj_opaque)));
if (nullptr==Q)
- return pj_default_destructor(P, ENOMEM);
+ return pj_default_destructor(P, PROJ_ERR_INVALID_OP /*ENOMEM*/);
P->opaque = Q;
- if (pj_param(P->ctx, P->params, "tn").i) {
- static_cast<struct pj_opaque*>(P->opaque)->n = pj_param(P->ctx, P->params, "dn").f;
- if (static_cast<struct pj_opaque*>(P->opaque)->n <= 0. || static_cast<struct pj_opaque*>(P->opaque)->n > 1.)
- return pj_default_destructor(P, PJD_ERR_N_OUT_OF_RANGE);
- } else {
- return pj_default_destructor(P, PJD_ERR_N_OUT_OF_RANGE);
+ if (!pj_param(P->ctx, P->params, "tn").i )
+ {
+ proj_log_error(P, _("Missing parameter n."));
+ return pj_default_destructor(P, PROJ_ERR_INVALID_OP_MISSING_ARG);
+ }
+
+ Q->n = pj_param(P->ctx, P->params, "dn").f;
+ if (Q->n <= 0. || Q->n > 1.)
+ {
+ proj_log_error(P, _("Invalid value for n: it should be in ]0,1] range."));
+ return pj_default_destructor(P, PROJ_ERR_INVALID_OP_ILLEGAL_ARG_VALUE);
}
return setup(P);
@@ -68,7 +73,7 @@ PJ *PROJECTION(urmfps) {
PJ *PROJECTION(wag1) {
struct pj_opaque *Q = static_cast<struct pj_opaque*>(calloc (1, sizeof (struct pj_opaque)));
if (nullptr==Q)
- return pj_default_destructor(P, ENOMEM);
+ return pj_default_destructor(P, PROJ_ERR_INVALID_OP /*ENOMEM*/);
P->opaque = Q;
static_cast<struct pj_opaque*>(P->opaque)->n = 0.8660254037844386467637231707;