summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/nixio/lua/nixio/fs.lua40
-rw-r--r--libs/nixio/src/fs.c2
2 files changed, 21 insertions, 21 deletions
diff --git a/libs/nixio/lua/nixio/fs.lua b/libs/nixio/lua/nixio/fs.lua
index 35d20b29c8..8883835f30 100644
--- a/libs/nixio/lua/nixio/fs.lua
+++ b/libs/nixio/lua/nixio/fs.lua
@@ -66,19 +66,19 @@ function datacopy(src, dest, size)
end
function copy(src, dest)
- local stat, code, msg, res = nixio.lstat(src)
+ local stat, code, msg, res = nixio.fs.lstat(src)
if not stat then
return nil, code, msg
end
if stat.type == "dir" then
- if nixio.stat(dest, type) ~= "dir" then
- res, code, msg = nixio.mkdir(dest)
+ if nixio.fs.stat(dest, type) ~= "dir" then
+ res, code, msg = nixio.fs.mkdir(dest)
else
stat = true
end
elseif stat.type == "lnk" then
- res, code, msg = nixio.symlink(nixio.readlink(src), dest)
+ res, code, msg = nixio.fs.symlink(nixio.fs.readlink(src), dest)
elseif stat.type == "reg" then
res, code, msg = datacopy(src, dest)
end
@@ -87,39 +87,39 @@ function copy(src, dest)
return nil, code, msg
end
- nixio.utimes(dest, stat.atime, stat.mtime)
+ nixio.fs.utimes(dest, stat.atime, stat.mtime)
- if nixio.lchown then
- nixio.lchown(dest, stat.uid, stat.gid)
+ if nixio.fs.lchown then
+ nixio.fs.lchown(dest, stat.uid, stat.gid)
end
if stat.type ~= "lnk" then
- nixio.chmod(dest, stat.modedec)
+ nixio.fs.chmod(dest, stat.modedec)
end
return true
end
function move(src, dest)
- local stat, code, msg = nixio.rename(src, dest)
+ local stat, code, msg = nixio.fs.rename(src, dest)
if not stat and code == nixio.const.EXDEV then
- stat, code, msg = nixio.copy(src, dest)
+ stat, code, msg = copy(src, dest)
if stat then
- stat, code, msg = nixio.unlink(src)
+ stat, code, msg = nixio.fs.unlink(src)
end
end
return stat, code, msg
end
function mkdirr(dest, mode)
- if nixio.stat(dest, "type") == "dir" then
+ if nixio.fs.stat(dest, "type") == "dir" then
return true
else
- local stat, code, msg = nixio.mkdir(dest, mode)
+ local stat, code, msg = nixio.fs.mkdir(dest, mode)
if not stat and code == nixio.const.ENOENT then
- stat, code, msg = mkdirr(nixio.dirname(dest), mode)
+ stat, code, msg = mkdirr(nixio.fs.dirname(dest), mode)
if stat then
- stat, code, msg = nixio.mkdir(dest, mode)
+ stat, code, msg = nixio.fs.mkdir(dest, mode)
end
end
return stat, code, msg
@@ -127,7 +127,7 @@ function mkdirr(dest, mode)
end
local function _recurse(cb, src, dest)
- local type = nixio.lstat(src, "type")
+ local type = nixio.fs.lstat(src, "type")
if type ~= "dir" then
return cb(src, dest)
else
@@ -137,7 +137,7 @@ local function _recurse(cb, src, dest)
stat, code, msg = stat and s, c or code, m or msg
end
- for e in nixio.dir(src) do
+ for e in nixio.fs.dir(src) do
if dest then
s, c, m = _recurse(cb, src .. se .. e, dest .. se .. e)
else
@@ -160,16 +160,16 @@ function copyr(src, dest)
end
function mover(src, dest)
- local stat, code, msg = nixio.rename(src, dest)
+ local stat, code, msg = nixio.fs.rename(src, dest)
if not stat and code == nixio.const.EXDEV then
stat, code, msg = _recurse(copy, src, dest)
if stat then
- stat, code, msg = _recurse(nixio.remove, src)
+ stat, code, msg = _recurse(nixio.fs.remove, src)
end
end
return stat, code, msg
end
function remover(src)
- return _recurse(nixio.remove, src)
+ return _recurse(nixio.fs.remove, src)
end \ No newline at end of file
diff --git a/libs/nixio/src/fs.c b/libs/nixio/src/fs.c
index 10727d030b..6ebfbaa421 100644
--- a/libs/nixio/src/fs.c
+++ b/libs/nixio/src/fs.c
@@ -254,7 +254,7 @@ static int nixio_link(lua_State *L) {
static int nixio_utimes(lua_State *L) {
const char *path = luaL_checkstring(L, 1);
- if (lua_gettop(L) < 2) {
+ if (lua_gettop(L) < 2 || (lua_isnoneornil(L, 2) && lua_isnoneornil(L, 3))) {
return nixio__pstatus(L, !utimes(path, NULL));
} else {
double atime = luaL_checknumber(L, 2);