From 1f66ef4f1c7c64563c643195a48849693534048d Mon Sep 17 00:00:00 2001 From: XeonSquared Date: Tue, 19 Nov 2019 21:38:08 +1100 Subject: [PATCH] fobject:read() now supports reading until a specific character --- module/fs.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/module/fs.lua b/module/fs.lua index 3410bef..ceeca51 100644 --- a/module/fs.lua +++ b/module/fs.lua @@ -42,6 +42,16 @@ local function fread(self,length) rstr = rstr .. lstr until rstr:len() == length or lstr == "" return rstr + elseif type(length) == "string" then + local buf = "" + if length == "*l" then + length = "\n" + end + repeat + local rb = fsmounts[self.fs].read(self.fid,1) or "" + buf = buf .. rb + until buf:match(length) or rb == "" + return buf:match("(.*)"..length) end return fsmounts[self.fs].read(self.fid,length) end