aboutsummaryrefslogtreecommitdiff
path: root/src/4D_api.cpp
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-01-19 17:49:05 +0100
committerEven Rouault <even.rouault@spatialys.com>2019-01-19 18:04:49 +0100
commit53a8cbbec1a6c9c644b35da86bc26a33ff1279e0 (patch)
tree55d63a43afb891c0523a5d16d8a7bd6281e4e9c7 /src/4D_api.cpp
parent1a2ce997b7b7f360110d20538aa15a64fcb61f5f (diff)
downloadPROJ-53a8cbbec1a6c9c644b35da86bc26a33ff1279e0.tar.gz
PROJ-53a8cbbec1a6c9c644b35da86bc26a33ff1279e0.zip
Add support for spaces in grid name parameters (fixes #1152)
Diffstat (limited to 'src/4D_api.cpp')
-rw-r--r--src/4D_api.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/4D_api.cpp b/src/4D_api.cpp
index 37afd289..642fbb1f 100644
--- a/src/4D_api.cpp
+++ b/src/4D_api.cpp
@@ -473,10 +473,11 @@ Returns 1 on success, 0 on failure
p = pj_param_exists (P->params, "geoidgrids");
if (p && strlen (p->param) > strlen ("geoidgrids=")) {
char *gridnames = p->param + strlen ("geoidgrids=");
- char *def = static_cast<char*>(malloc (100+strlen(gridnames)));
+ char *def = static_cast<char*>(malloc (100+2*strlen(gridnames)));
if (nullptr==def)
return 0;
- sprintf (def, "break_cs2cs_recursion proj=vgridshift grids=%s", gridnames);
+ sprintf (def, "break_cs2cs_recursion proj=vgridshift grids=%s",
+ pj_double_quote_string_param_if_needed(gridnames).c_str());
Q = pj_create_internal (P->ctx, def);
free (def);
if (nullptr==Q)
@@ -488,10 +489,11 @@ Returns 1 on success, 0 on failure
p = pj_param_exists (P->params, "nadgrids");
if (p && strlen (p->param) > strlen ("nadgrids=")) {
char *gridnames = p->param + strlen ("nadgrids=");
- char *def = static_cast<char*>(malloc (100+strlen(gridnames)));
+ char *def = static_cast<char*>(malloc (100+2*strlen(gridnames)));
if (nullptr==def)
return 0;
- sprintf (def, "break_cs2cs_recursion proj=hgridshift grids=%s", gridnames);
+ sprintf (def, "break_cs2cs_recursion proj=hgridshift grids=%s",
+ pj_double_quote_string_param_if_needed(gridnames).c_str());
Q = pj_create_internal (P->ctx, def);
free (def);
if (nullptr==Q)