setmetatable(_M, {
__index = function(_, command)
return function(opts)
- return 0 == os_execute(serialize(command, type(opts) == "table" and opts or {}));
+ local ret = os_execute(serialize(command, type(opts) == "table" and opts or {}));
+ return ret == true or ret == 0;
end;
end;
});
local function getchar(n)
local stty_ret = os.execute("stty raw -echo 2>/dev/null");
local ok, char;
- if stty_ret == 0 then
+ if stty_ret == true or stty_ret == 0 then
ok, char = pcall(io.read, n or 1);
os.execute("stty sane");
else
--- /dev/null
+-- Import gettime() from LuaSocket, as a way to access high-resolution time
+-- in a platform-independent way
+
+local socket_gettime = require "socket".gettime;
+
+return {
+ now = socket_gettime;
+}