aboutsummaryrefslogtreecommitdiff
path: root/src/ltn12.lua
diff options
context:
space:
mode:
Diffstat (limited to 'src/ltn12.lua')
-rw-r--r--src/ltn12.lua12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/ltn12.lua b/src/ltn12.lua
index fbc9dce..633e0d7 100644
--- a/src/ltn12.lua
+++ b/src/ltn12.lua
@@ -12,6 +12,7 @@ local string = require("string")
12local table = require("table") 12local table = require("table")
13local base = _G 13local base = _G
14module("ltn12") 14module("ltn12")
15getmetatable(_M).__index = nil
15 16
16filter = {} 17filter = {}
17source = {} 18source = {}
@@ -134,8 +135,6 @@ function source.rewind(src)
134 end 135 end
135end 136end
136 137
137local print = print
138
139-- chains a source with a filter 138-- chains a source with a filter
140function source.chain(src, f) 139function source.chain(src, f)
141 base.assert(src and f) 140 base.assert(src and f)
@@ -258,7 +257,8 @@ end
258function pump.step(src, snk) 257function pump.step(src, snk)
259 local chunk, src_err = src() 258 local chunk, src_err = src()
260 local ret, snk_err = snk(chunk, src_err) 259 local ret, snk_err = snk(chunk, src_err)
261 return chunk and ret and not src_err and not snk_err, src_err or snk_err 260 if chunk and ret then return 1
261 else return nil, src_err or snk_err end
262end 262end
263 263
264-- pumps all data from a source to a sink, using a step function 264-- pumps all data from a source to a sink, using a step function
@@ -267,8 +267,10 @@ function pump.all(src, snk, step)
267 step = step or pump.step 267 step = step or pump.step
268 while true do 268 while true do
269 local ret, err = step(src, snk) 269 local ret, err = step(src, snk)
270 if not ret then return not err, err end 270 if not ret then
271 if err then return nil, err
272 else return 1 end
273 end
271 end 274 end
272end 275end
273 276
274--getmetatable(_M).__index = nil