From ad315be503b40a36ab7e8d06f953f4b13258b452 Mon Sep 17 00:00:00 2001 From: Allan Bowe Date: Tue, 21 Jun 2022 14:14:35 +0000 Subject: [PATCH] fix: escaping labels in mp_jsonout when showmeta=YES. Closes #258 --- all.sas | 8 ++++---- base/mp_jsonout.sas | 2 +- meta/mm_createwebservice.sas | 2 +- server/ms_createwebservice.sas | 2 +- viya/mv_createwebservice.sas | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/all.sas b/all.sas index d59d73c..9e99d6c 100644 --- a/all.sas +++ b/all.sas @@ -8845,7 +8845,7 @@ options do i=1 to &numcols; name=quote(trim(symget(cats('name',i)))); format=quote(trim(symget(cats('fmt',i)))); - label=quote(trim(symget(cats('label',i)))); + label=quote(prxchange('s/\\/\\\\/',-1,trim(symget(cats('label',i))))); length=quote(trim(symget(cats('length',i)))); type=quote(trim(symget(cats('typelong',i)))); if i>1 then put "," @@; @@ -15225,7 +15225,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; @@ -19962,7 +19962,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; @@ -22305,7 +22305,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; diff --git a/base/mp_jsonout.sas b/base/mp_jsonout.sas index c81db42..5760613 100644 --- a/base/mp_jsonout.sas +++ b/base/mp_jsonout.sas @@ -263,7 +263,7 @@ do i=1 to &numcols; name=quote(trim(symget(cats('name',i)))); format=quote(trim(symget(cats('fmt',i)))); - label=quote(trim(symget(cats('label',i)))); + label=quote(prxchange('s/\\/\\\\/',-1,trim(symget(cats('label',i))))); length=quote(trim(symget(cats('length',i)))); type=quote(trim(symget(cats('typelong',i)))); if i>1 then put "," @@; diff --git a/meta/mm_createwebservice.sas b/meta/mm_createwebservice.sas index 3b28565..89acfdd 100644 --- a/meta/mm_createwebservice.sas +++ b/meta/mm_createwebservice.sas @@ -296,7 +296,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; diff --git a/server/ms_createwebservice.sas b/server/ms_createwebservice.sas index 0896d9c..0b43845 100644 --- a/server/ms_createwebservice.sas +++ b/server/ms_createwebservice.sas @@ -298,7 +298,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; '; diff --git a/viya/mv_createwebservice.sas b/viya/mv_createwebservice.sas index a398e87..22f7796 100644 --- a/viya/mv_createwebservice.sas +++ b/viya/mv_createwebservice.sas @@ -440,7 +440,7 @@ data _null_; put ' do i=1 to &numcols; '; put ' name=quote(trim(symget(cats(''name'',i)))); '; put ' format=quote(trim(symget(cats(''fmt'',i)))); '; - put ' label=quote(trim(symget(cats(''label'',i)))); '; + put ' label=quote(prxchange(''s/\\/\\\\/'',-1,trim(symget(cats(''label'',i))))); '; put ' length=quote(trim(symget(cats(''length'',i)))); '; put ' type=quote(trim(symget(cats(''typelong'',i)))); '; put ' if i>1 then put "," @@; ';