diff options
Diffstat (limited to 'src/PJ_putp3.c')
| -rw-r--r-- | src/PJ_putp3.c | 22 |
1 files changed, 3 insertions, 19 deletions
diff --git a/src/PJ_putp3.c b/src/PJ_putp3.c index 93720915..cb216370 100644 --- a/src/PJ_putp3.c +++ b/src/PJ_putp3.c @@ -1,4 +1,5 @@ #define PJ_LIB__ +#include <errno.h> #include <projects.h> struct pj_opaque { @@ -32,27 +33,10 @@ static LP s_inverse (XY xy, PJ *P) { /* Spheroidal, inverse */ } -static void *freeup_new (PJ *P) { /* Destructor */ - if (0==P) - return 0; - if (0==P->opaque) - return pj_dealloc (P); - - pj_dealloc (P->opaque); - return pj_dealloc(P); -} - - -static void freeup (PJ *P) { - freeup_new (P); - return; -} - - PJ *PROJECTION(putp3) { struct pj_opaque *Q = pj_calloc (1, sizeof (struct pj_opaque)); if (0==Q) - return freeup_new (P); + return pj_default_destructor (P, ENOMEM); P->opaque = Q; Q->A = 4. * RPISQ; @@ -67,7 +51,7 @@ PJ *PROJECTION(putp3) { PJ *PROJECTION(putp3p) { struct pj_opaque *Q = pj_calloc (1, sizeof (struct pj_opaque)); if (0==Q) - return freeup_new (P); + return pj_default_destructor (P, ENOMEM); P->opaque = Q; Q->A = 2. * RPISQ; |
