Annotate

util/envload.lua @ 13056:c38b1c63aa5c

mod_http_file_share: use util.human.io.parse_duration Updated by Zash, the original patch by Jonas had put the duration parsing function in util.datetime but MattJ later did the same thing but differently in f4d7fe919969
author Jonas Schäfer <jonas@wielicki.name>
date Thu, 28 Apr 2022 20:40:59 +0200
parent 12576:d1aacc6a81ac
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5020
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
1 -- Prosody IM
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
2 -- Copyright (C) 2008-2011 Florian Zeitz
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
3 --
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
4 -- This project is MIT/X11 licensed. Please see the
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
5 -- COPYING file in the source package for more information.
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
6 --
8416
bc9cb23b604a util.envload: Ignore "undefined variable" warning for loadstring [luacheck with strict 5.2 or 5.3 checks]
Kim Alvefur <zash@zash.se>
parents: 7930
diff changeset
7 -- luacheck: ignore 113/setfenv 113/loadstring
5020
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
8
12576
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
9 local load = load;
7924
8487fe9fc335 util.envload: Open file here instead of letting loadfile do it so that all return values from io.open can be collected
Kim Alvefur <zash@zash.se>
parents: 7728
diff changeset
10 local io_open = io.open;
5020
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
11
12576
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
12 local function envload(code, source, env)
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
13 return load(code, source, nil, env);
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
14 end
5020
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
15
12576
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
16 local function envloadfile(file, env)
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
17 local fh, err, errno = io_open(file);
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
18 if not fh then return fh, err, errno; end
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
19 local f, err = load(fh:lines(2048), "@" .. file, nil, env);
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
20 fh:close();
d1aacc6a81ac util.envload: Remove Lua 5.1 method
Kim Alvefur <zash@zash.se>
parents: 8416
diff changeset
21 return f, err;
5020
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
22 end
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
23
ef1eb65acbba util.envload: New module to abstract Lua 5.1's setfenv and Lua 5.2's load
Florian Zeitz <florob@babelmonkeys.de>
parents:
diff changeset
24 return { envload = envload, envloadfile = envloadfile };