changeset 31209:f5db0112f7e8

webwrite.m: Support literal "=" in query string (bug #62963). * scripts/web/webwrite.m: Match patterns in DATA string with regular expression instead of simply splitting the string.
author Markus Mützel <markus.muetzel@gmx.de>
date Mon, 29 Aug 2022 13:45:43 +0200
parents a523e976b841
children 8340137bb190
files scripts/web/webwrite.m
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/scripts/web/webwrite.m	Sun Aug 28 14:20:03 2022 -0700
+++ b/scripts/web/webwrite.m	Mon Aug 29 13:45:43 2022 +0200
@@ -92,7 +92,12 @@
     error ("webwrite: DATA must be a string");
   elseif (nargs == 1)
     if (ischar (varargin{1}) && isrow (varargin{1}))
-      param = strsplit (varargin{1}, {"=", "&"});
+      param = regexp (varargin{1}, '([^=]*)=([^&]*)&?', 'tokens');
+      if (isempty (param) || isempty (param{1}))
+        error ("webwrite: DATA not a valid query string");
+      else
+        param = [param{:}];
+      endif
       response = __restful_service__ (url, param, options);
     elseif (! iscellstr (varargin))
       error ("webwrite: DATA must be a string");