diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-01-19 17:49:05 +0100 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-01-19 18:04:49 +0100 |
| commit | 53a8cbbec1a6c9c644b35da86bc26a33ff1279e0 (patch) | |
| tree | 55d63a43afb891c0523a5d16d8a7bd6281e4e9c7 /src/4D_api.cpp | |
| parent | 1a2ce997b7b7f360110d20538aa15a64fcb61f5f (diff) | |
| download | PROJ-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.cpp | 10 |
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) |
