summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNatanael Copa <natanael.copa@gmail.com>2009-01-23 14:07:26 +0000
committerNatanael Copa <natanael.copa@gmail.com>2009-01-23 14:07:26 +0000
commitca4e70fd0fb8a22e47aec4418ce2e76ffdf1fadb (patch)
tree473b344b6e08321e648f2eeea9e208f6ac7eada3
parent240b63ebc7f9f1c4110f64452a81af18f7a324cc (diff)
downloadacf-core-ca4e70fd0fb8a22e47aec4418ce2e76ffdf1fadb.tar.bz2
acf-core-ca4e70fd0fb8a22e47aec4418ce2e76ffdf1fadb.tar.xz
use posix.mkdir() to create dirs recursively
git-svn-id: svn://svn.alpinelinux.org/acf/core/trunk@1693 ab2d0c66-481e-0410-8bed-d214d4d58bed
-rw-r--r--lib/fs.lua11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/fs.lua b/lib/fs.lua
index 5ad6e33..954ac0d 100644
--- a/lib/fs.lua
+++ b/lib/fs.lua
@@ -42,11 +42,14 @@ function is_link ( pathstr )
end
--- Creates a directory if it doesn't exist
+-- Creates a directory if it doesn't exist, including the parent dirs
function create_directory ( path )
- local cmd = "mkdir -p " .. format.escapespecialcharacters(path)
- local f = io.popen(cmd)
- f:close()
+ local p, i
+ p = ""
+ for i in string.gmatch(path, "/*[^/]+") do
+ p = p .. i
+ posix.mkdir(p)
+ end
return is_dir(path)
end