diff --git a/src/script.c b/src/script.c index 76b5933..9cb5baa 100644 --- a/src/script.c +++ b/src/script.c @@ -58,15 +58,22 @@ static char script_init[] = "end\n" "tio.expect = function(pattern, timeout)\n" " local str = ''\n" +" if type(pattern) ~= 'table' then\n" +" pattern = { pattern }\n" +" end\n" " while true do\n" +" local idx, pat\n" " local c = tio.read(1, timeout)\n" " if c then\n" " str = str .. c\n" -" if string.match(str, pattern) then\n" -" return string.match(str, pattern)\n" +" for idx, pat in ipairs(pattern) do\n" +" local matched = { string.match(str, pat) }\n" +" if matched[1] then\n" +" return matched, str, idx\n" +" end\n" " end\n" " else\n" -" return nil, str\n" +" return nil, str, 0\n" " end\n" " end\n" "end\n"