aboutsummaryrefslogtreecommitdiff
path: root/src/PJ_unitconvert.c
diff options
context:
space:
mode:
authorThomas Knudsen <busstoptaktik@users.noreply.github.com>2017-10-06 18:56:12 +0200
committerGitHub <noreply@github.com>2017-10-06 18:56:12 +0200
commit202455448868a8a7d24dd7ba3cfa4fa9580c25c5 (patch)
treedf66e34efc3a8177249c35e29d9169855aea94bf /src/PJ_unitconvert.c
parent0c2f14e53de134e3bdecee45f7bcf9bdb1811432 (diff)
parentee0e2a0ff7315b3e77e5e570b566a735ec6a817a (diff)
downloadPROJ-202455448868a8a7d24dd7ba3cfa4fa9580c25c5.tar.gz
PROJ-202455448868a8a7d24dd7ba3cfa4fa9580c25c5.zip
Merge pull request #583 from busstoptaktik/destructor
Introduce a default destructor for PJ objects
Diffstat (limited to 'src/PJ_unitconvert.c')
-rw-r--r--src/PJ_unitconvert.c44
1 files changed, 11 insertions, 33 deletions
diff --git a/src/PJ_unitconvert.c b/src/PJ_unitconvert.c
index 8581dcad..c5cf93ae 100644
--- a/src/PJ_unitconvert.c
+++ b/src/PJ_unitconvert.c
@@ -65,9 +65,9 @@ Last update: 2017-05-16
#define PJ_LIB__
#include <time.h>
-#include "proj_internal.h"
-#include <projects.h>
#include <errno.h>
+#include "proj_internal.h"
+#include "projects.h"
PROJ_HEAD(unitconvert, "Unit conversion");
@@ -199,28 +199,6 @@ struct pj_opaque_unitconvert {
/***********************************************************************/
-static void *freeup_msg (PJ *P, int errlev) {
-/***********************************************************************/
- if (0==P)
- return 0;
-
- if (0!=P->ctx)
- pj_ctx_set_errno (P->ctx, errlev);
-
- pj_dealloc (P->opaque);
-
- return pj_dealloc(P);
-}
-
-
-/***********************************************************************/
-static void freeup (PJ *P) {
-/***********************************************************************/
- freeup_msg (P, 0);
- return;
-}
-
-/***********************************************************************/
static XY forward_2d(LP lp, PJ *P) {
/************************************************************************
Forward unit conversions in the plane
@@ -335,7 +313,7 @@ PJ *PROJECTION(unitconvert) {
int i;
if (0==Q)
- return freeup_msg (P, ENOMEM);
+ return pj_default_destructor (P, ENOMEM);
P->opaque = (void *) Q;
P->fwdobs = forward_obs;
@@ -355,7 +333,7 @@ PJ *PROJECTION(unitconvert) {
if ((name = pj_param (P->ctx, P->params, "sxy_in").s) != NULL) {
for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) return freeup_msg(P, -8); /* unknown unit conversion id */
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID);
Q->xy_in_id = i;
proj_log_debug(P, "xy_in unit: %s", pj_units[i].name);
@@ -364,7 +342,7 @@ PJ *PROJECTION(unitconvert) {
if ((name = pj_param (P->ctx, P->params, "sxy_out").s) != NULL) {
for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) return freeup_msg(P, -8); /* unknown unit conversion id */
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID);
Q->xy_out_id = i;
proj_log_debug(P, "xy_out unit: %s", pj_units[i].name);
@@ -373,7 +351,7 @@ PJ *PROJECTION(unitconvert) {
if ((name = pj_param (P->ctx, P->params, "sz_in").s) != NULL) {
for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) return freeup_msg(P, -8); /* unknown unit conversion id */
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID); /* unknown unit conversion id */
Q->z_in_id = i;
proj_log_debug(P, "z_in unit: %s", pj_units[i].name);
@@ -382,7 +360,7 @@ PJ *PROJECTION(unitconvert) {
if ((name = pj_param (P->ctx, P->params, "sz_out").s) != NULL) {
for (i = 0; (s = pj_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) return freeup_msg(P, -8); /* unknown unit conversion id */
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID); /* unknown unit conversion id */
Q->z_out_id = i;
proj_log_debug(P, "z_out unit: %s", pj_units[i].name);
@@ -392,7 +370,7 @@ PJ *PROJECTION(unitconvert) {
if ((name = pj_param (P->ctx, P->params, "st_in").s) != NULL) {
for (i = 0; (s = time_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) return freeup_msg(P, -8); /* unknown unit conversion id */
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID); /* unknown unit conversion id */
Q->t_in_id = i;
proj_log_debug(P, "t_in unit: %s", time_units[i].name);
@@ -401,9 +379,9 @@ PJ *PROJECTION(unitconvert) {
s = 0;
if ((name = pj_param (P->ctx, P->params, "st_out").s) != NULL) {
for (i = 0; (s = time_units[i].id) && strcmp(name, s) ; ++i);
- if (!s) {
- return freeup_msg(P, -8); /* unknown unit conversion id */
- }
+
+ if (!s) return pj_default_destructor(P, PJD_ERR_UNKNOW_UNIT_ID); /* unknown unit conversion id */
+
Q->t_out_id = i;
proj_log_debug(P, "t_out unit: %s", time_units[i].name);
}