summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2008-05-06 15:06:27 +0000
committerMika Havela <mika.havela@gmail.com>2008-05-06 15:06:27 +0000
commite871208433b3be5e2261292fb0ba041a2a7e5418 (patch)
treefece6f7dde5b005d25e6a04b947f836b14b71fa2 /lib
parent3e23802daea8ad7c6d92c8549fba882be11f671c (diff)
downloadacf-core-e871208433b3be5e2261292fb0ba041a2a7e5418.tar.bz2
acf-core-e871208433b3be5e2261292fb0ba041a2a7e5418.tar.xz
If no details for the file exists, then things got broken. This is now fixed.
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1107 ab2d0c66-481e-0410-8bed-d214d4d58bed
Diffstat (limited to 'lib')
-rw-r--r--lib/fs.lua26
1 files changed, 14 insertions, 12 deletions
diff --git a/lib/fs.lua b/lib/fs.lua
index 0b234b0..7b60591 100644
--- a/lib/fs.lua
+++ b/lib/fs.lua
@@ -132,18 +132,20 @@ end
-- This function does almost the same as posix.stat, but instead it writes the output human readable.
function stat ( path )
- local filedetails = posix.stat(path)
- filedetails["ctime"]=os.date("%c", filedetails["ctime"])
- filedetails["mtime"]=os.date("%c", filedetails["mtime"])
- filedetails["path"]=path
- if ( filedetails["size"] > 1073741824 ) then
- filedetails["size"]=((filedetails["size"]/1073741824) - (filedetails["size"]/1073741824%0.1)) .. "G"
- elseif ( filedetails["size"] > 1048576 ) then
- filedetails["size"]=((filedetails["size"]/1048576) - (filedetails["size"]/1048576%0.1)) .. "M"
- elseif ( filedetails["size"] > 1024 ) then
- filedetails["size"]=((filedetails["size"]/1024) - (filedetails["size"]/1024%0.1)) .. "k"
- else
- filedetails["size"]=filedetails["size"]
+ local filedetails = posix.stat(path)
+ if (filedetails) then
+ filedetails["ctime"]=os.date("%c", filedetails["ctime"])
+ filedetails["mtime"]=os.date("%c", filedetails["mtime"])
+ filedetails["path"]=path
+ if ( filedetails["size"] > 1073741824 ) then
+ filedetails["size"]=((filedetails["size"]/1073741824) - (filedetails["size"]/1073741824%0.1)) .. "G"
+ elseif ( filedetails["size"] > 1048576 ) then
+ filedetails["size"]=((filedetails["size"]/1048576) - (filedetails["size"]/1048576%0.1)) .. "M"
+ elseif ( filedetails["size"] > 1024 ) then
+ filedetails["size"]=((filedetails["size"]/1024) - (filedetails["size"]/1024%0.1)) .. "k"
+ else
+ filedetails["size"]=filedetails["size"]
+ end
end
return filedetails
end