diff options
Diffstat (limited to 'src/ltn12.lua')
-rw-r--r-- | src/ltn12.lua | 12 |
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") | |||
12 | local table = require("table") | 12 | local table = require("table") |
13 | local base = _G | 13 | local base = _G |
14 | module("ltn12") | 14 | module("ltn12") |
15 | getmetatable(_M).__index = nil | ||
15 | 16 | ||
16 | filter = {} | 17 | filter = {} |
17 | source = {} | 18 | source = {} |
@@ -134,8 +135,6 @@ function source.rewind(src) | |||
134 | end | 135 | end |
135 | end | 136 | end |
136 | 137 | ||
137 | local print = print | ||
138 | |||
139 | -- chains a source with a filter | 138 | -- chains a source with a filter |
140 | function source.chain(src, f) | 139 | function source.chain(src, f) |
141 | base.assert(src and f) | 140 | base.assert(src and f) |
@@ -258,7 +257,8 @@ end | |||
258 | function pump.step(src, snk) | 257 | function 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 | ||
262 | end | 262 | end |
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 |
272 | end | 275 | end |
273 | 276 | ||
274 | --getmetatable(_M).__index = nil | ||