aboutsummaryrefslogtreecommitdiff
path: root/src/projections/ob_tran.cpp
diff options
context:
space:
mode:
authorKristian Evers <kristianevers@gmail.com>2020-12-13 15:30:47 +0100
committerKristian Evers <kristianevers@gmail.com>2020-12-13 15:30:47 +0100
commitc3efbd23a5bf26f1dfd5bc55ae3488d5665ace98 (patch)
treea204df79f7057d7d420bf7c5358791347617b9cd /src/projections/ob_tran.cpp
parent126445148d3b742c7f4e31f5f65857be59c48340 (diff)
parent6857d1a4a8eb6fcb7b88b0339413913ba2c3351a (diff)
downloadPROJ-c3efbd23a5bf26f1dfd5bc55ae3488d5665ace98.tar.gz
PROJ-c3efbd23a5bf26f1dfd5bc55ae3488d5665ace98.zip
Merge remote-tracking branch 'osgeo/master'
Diffstat (limited to 'src/projections/ob_tran.cpp')
-rw-r--r--src/projections/ob_tran.cpp17
1 files changed, 9 insertions, 8 deletions
diff --git a/src/projections/ob_tran.cpp b/src/projections/ob_tran.cpp
index 7cf1cf98..86798e0a 100644
--- a/src/projections/ob_tran.cpp
+++ b/src/projections/ob_tran.cpp
@@ -141,14 +141,15 @@ static ARGS ob_tran_target_params (paralist *params) {
if (argc < 2)
return args;
- /* all args except the proj_ob_tran */
- args.argv = static_cast<char**>(pj_calloc (argc - 1, sizeof (char *)));
+ /* all args except the proj=ob_tran */
+ args.argv = static_cast<char**>(calloc (argc - 1, sizeof (char *)));
if (nullptr==args.argv)
return args;
- /* Copy all args *except* the proj=ob_tran arg to the argv array */
+ /* Copy all args *except* the proj=ob_tran or inv arg to the argv array */
for (i = 0; params != nullptr; params = params->next) {
- if (0==strcmp (params->param, "proj=ob_tran"))
+ if (0==strcmp (params->param, "proj=ob_tran") ||
+ 0==strcmp (params->param, "inv") )
continue;
args.argv[i++] = params->param;
}
@@ -160,7 +161,7 @@ static ARGS ob_tran_target_params (paralist *params) {
continue;
args.argv[i] += 2;
if (strcmp(args.argv[i], "proj=ob_tran") == 0 ) {
- pj_dealloc (args.argv);
+ free (args.argv);
args.argc = 0;
args.argv = nullptr;
}
@@ -177,7 +178,7 @@ PJ *PROJECTION(ob_tran) {
ARGS args;
PJ *R; /* projection to rotate */
- struct pj_opaque *Q = static_cast<struct pj_opaque*>(pj_calloc (1, sizeof (struct pj_opaque)));
+ struct pj_opaque *Q = static_cast<struct pj_opaque*>(calloc (1, sizeof (struct pj_opaque)));
if (nullptr==Q)
return destructor(P, ENOMEM);
@@ -194,8 +195,8 @@ PJ *PROJECTION(ob_tran) {
if (args.argv == nullptr ) {
return destructor(P, PJD_ERR_FAILED_TO_FIND_PROJ);
}
- R = pj_init_ctx (pj_get_ctx(P), args.argc, args.argv);
- pj_dealloc (args.argv);
+ R = proj_create_argv (P->ctx, args.argc, args.argv);
+ free (args.argv);
if (nullptr==R)
return destructor (P, PJD_ERR_UNKNOWN_PROJECTION_ID);