From fb87c671f11b5a3a41828727a8b57f6c8397fc79 Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 27 Feb 2020 23:12:53 +0100 Subject: Fix warnings of latest cppcheck master --- src/projections/poly.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/projections/poly.cpp') diff --git a/src/projections/poly.cpp b/src/projections/poly.cpp index 08a4aaad..fc7fc8bd 100644 --- a/src/projections/poly.cpp +++ b/src/projections/poly.cpp @@ -116,15 +116,18 @@ static PJ_LP poly_s_inverse (PJ_XY xy, PJ *P) { /* Spheroidal, inverse lp.phi = xy.y; B = xy.x * xy.x + xy.y * xy.y; i = N_ITER; - do { + while(true) { tp = tan(lp.phi); lp.phi -= (dphi = (xy.y * (lp.phi * tp + 1.) - lp.phi - .5 * ( lp.phi * lp.phi + B) * tp) / ((lp.phi - xy.y) / tp - 1.)); - } while (fabs(dphi) > CONV && --i); - if (! i) { - proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); - return lp; + if( !(fabs(dphi) > CONV) ) + break; + --i; + if( i == 0 ) { + proj_errno_set(P, PJD_ERR_TOLERANCE_CONDITION); + return lp; + } } lp.lam = asin(xy.x * tan(lp.phi)) / sin(lp.phi); } -- cgit v1.2.3