# HG changeset patch # User Matthew Wild # Date 1263165142 0 # Node ID b335ae55af77fe380887ac5a47044ee3d97eea79 # Parent 94c676b585c0f8501f1edb60f30ab23b615a45c8 util.pposix: Add mkdir(path) diff -r 94c676b585c0 -r b335ae55af77 util-src/pposix.c --- a/util-src/pposix.c Sun Jan 10 23:11:28 2010 +0000 +++ b/util-src/pposix.c Sun Jan 10 23:12:22 2010 +0000 @@ -371,6 +371,21 @@ return 1; } +int lc_mkdir(lua_State* L) +{ + int ret = mkdir(luaL_checkstring(L, 1), S_IRUSR | S_IWUSR | S_IXUSR + | S_IRGRP | S_IWGRP | S_IXGRP + | S_IROTH | S_IXOTH); /* mode 775 */ + + lua_pushboolean(L, ret==0); + if(ret) + { + lua_pushstring(L, strerror(errno)); + return 2; + } + return 1; +} + /* Like POSIX's setrlimit()/getrlimit() API functions. * * Syntax: @@ -505,6 +520,8 @@ { "umask", lc_umask }, + { "mkdir", lc_mkdir }, + { "setrlimit", lc_setrlimit }, { "getrlimit", lc_getrlimit },