diff options
author | tuler <tuler> | 2005-06-03 21:50:59 +0000 |
---|---|---|
committer | tuler <tuler> | 2005-06-03 21:50:59 +0000 |
commit | 97abe2139e6eb67ed03da94dfd23dfb0c259a504 (patch) | |
tree | d118b7af2cfbefd63f23d4d9fc12b32a409da7e1 /src | |
parent | 197032fa7ba679c62c0e8ebc2157e225edd181a0 (diff) | |
download | luafilesystem-97abe2139e6eb67ed03da94dfd23dfb0c259a504.tar.gz luafilesystem-97abe2139e6eb67ed03da94dfd23dfb0c259a504.tar.bz2 luafilesystem-97abe2139e6eb67ed03da94dfd23dfb0c259a504.zip |
new function lfs.rmdir
Diffstat (limited to 'src')
-rw-r--r-- | src/lfs.c | 21 |
1 files changed, 20 insertions, 1 deletions
@@ -7,10 +7,11 @@ | |||
7 | ** lfs.dir (path) | 7 | ** lfs.dir (path) |
8 | ** lfs.lock (fh, mode) | 8 | ** lfs.lock (fh, mode) |
9 | ** lfs.mkdir (path) | 9 | ** lfs.mkdir (path) |
10 | ** lfs.rmdir (path) | ||
10 | ** lfs.touch (filepath [, atime [, mtime]]) | 11 | ** lfs.touch (filepath [, atime [, mtime]]) |
11 | ** lfs.unlock (fh) | 12 | ** lfs.unlock (fh) |
12 | ** | 13 | ** |
13 | ** $Id: lfs.c,v 1.21 2005/05/20 18:32:19 uid20006 Exp $ | 14 | ** $Id: lfs.c,v 1.22 2005/06/03 21:50:59 tuler Exp $ |
14 | */ | 15 | */ |
15 | 16 | ||
16 | #include <errno.h> | 17 | #include <errno.h> |
@@ -250,6 +251,23 @@ static int make_dir (lua_State *L) { | |||
250 | return 1; | 251 | return 1; |
251 | } | 252 | } |
252 | 253 | ||
254 | /* | ||
255 | ** Removes a directory. | ||
256 | ** @param #1 Directory path. | ||
257 | */ | ||
258 | static int remove_dir (lua_State *L) { | ||
259 | const char *path = luaL_checkstring (L, 1); | ||
260 | int fail; | ||
261 | |||
262 | fail = rmdir (path); | ||
263 | |||
264 | lua_pushboolean (L, !fail); | ||
265 | if (fail) { | ||
266 | lua_pushfstring (L, "%s", strerror(errno)); | ||
267 | return 2; | ||
268 | } | ||
269 | return 1; | ||
270 | } | ||
253 | 271 | ||
254 | /* | 272 | /* |
255 | ** Directory iterator | 273 | ** Directory iterator |
@@ -519,6 +537,7 @@ static const struct luaL_reg fslib[] = { | |||
519 | {"dir", dir_iter_factory}, | 537 | {"dir", dir_iter_factory}, |
520 | {"lock", file_lock}, | 538 | {"lock", file_lock}, |
521 | {"mkdir", make_dir}, | 539 | {"mkdir", make_dir}, |
540 | {"rmdir", remove_dir}, | ||
522 | {"touch", file_utime}, | 541 | {"touch", file_utime}, |
523 | {"unlock", file_unlock}, | 542 | {"unlock", file_unlock}, |
524 | {NULL, NULL}, | 543 | {NULL, NULL}, |