From 9ab2b4d8572d9f7fce502a2fd4299081b2730677 Mon Sep 17 00:00:00 2001 From: Qianqian Fang Date: Sun, 24 Mar 2024 13:33:51 -0400 Subject: [PATCH] [test] inline skip_whitespace --- loadjson.m | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/loadjson.m b/loadjson.m index 7c75470..5b14589 100644 --- a/loadjson.m +++ b/loadjson.m @@ -430,21 +430,33 @@ function [pos, w1, w2] = parse_char(inputstr, pos, c, varargin) w1 = pos; w2 = 0; -pos = skip_whitespace(pos, inputstr, varargin{:}); + +while pos <= length(inputstr) && varargin{1}.isspace(pos) + pos = pos + 1; +end + w1 = pos - w1; if pos > length(inputstr) || inputstr(pos) ~= c pos = error_pos(sprintf('Expected %c at position %%d', c), inputstr, pos); else pos = pos + 1; w2 = pos; - pos = skip_whitespace(pos, inputstr, varargin{:}); + + while pos <= length(inputstr) && varargin{1}.isspace(pos) + pos = pos + 1; + end + w2 = pos - w2; end %% ------------------------------------------------------------------------- function [c, pos, w1] = next_char(inputstr, pos, varargin) w1 = pos; -pos = skip_whitespace(pos, inputstr, varargin{:}); + +while pos <= length(inputstr) && varargin{1}.isspace(pos) + pos = pos + 1; +end + w1 = pos - w1; if pos > length(inputstr) c = [];