diff options
| author | Peter Melnichenko <mpeterval@gmail.com> | 2016-06-21 10:48:11 +0300 |
|---|---|---|
| committer | Peter Melnichenko <mpeterval@gmail.com> | 2016-06-21 10:48:11 +0300 |
| commit | a332bde584756b14298f51e913bdc309f87e7ff8 (patch) | |
| tree | bed97d0cefa34dba06344b99d1abc9b2e2c7e2cb | |
| parent | 81e5b165bf324689777b967143c751786c405ce4 (diff) | |
| parent | 7fae11cdb5a129ce798df462365b7ce60c5f4d62 (diff) | |
| download | luafilesystem-a332bde584756b14298f51e913bdc309f87e7ff8.tar.gz luafilesystem-a332bde584756b14298f51e913bdc309f87e7ff8.tar.bz2 luafilesystem-a332bde584756b14298f51e913bdc309f87e7ff8.zip | |
Merge branch 'master' into 1.7
| -rw-r--r-- | src/lfs.c | 2 | ||||
| -rw-r--r-- | src/lfs.h | 24 | ||||
| -rw-r--r-- | tests/test.lua | 3 |
3 files changed, 17 insertions, 12 deletions
| @@ -875,7 +875,7 @@ static const struct luaL_Reg fslib[] = { | |||
| 875 | {NULL, NULL}, | 875 | {NULL, NULL}, |
| 876 | }; | 876 | }; |
| 877 | 877 | ||
| 878 | int luaopen_lfs (lua_State *L) { | 878 | LFS_EXPORT int luaopen_lfs (lua_State *L) { |
| 879 | dir_create_meta (L); | 879 | dir_create_meta (L); |
| 880 | lock_create_meta (L); | 880 | lock_create_meta (L); |
| 881 | luaL_newlib (L, fslib); | 881 | luaL_newlib (L, fslib); |
| @@ -5,27 +5,29 @@ | |||
| 5 | 5 | ||
| 6 | /* Define 'chdir' for systems that do not implement it */ | 6 | /* Define 'chdir' for systems that do not implement it */ |
| 7 | #ifdef NO_CHDIR | 7 | #ifdef NO_CHDIR |
| 8 | #define chdir(p) (-1) | 8 | #define chdir(p) (-1) |
| 9 | #define chdir_error "Function 'chdir' not provided by system" | 9 | #define chdir_error "Function 'chdir' not provided by system" |
| 10 | #else | 10 | #else |
| 11 | #define chdir_error strerror(errno) | 11 | #define chdir_error strerror(errno) |
| 12 | |||
| 13 | #endif | 12 | #endif |
| 14 | 13 | ||
| 15 | #ifdef _WIN32 | 14 | #ifdef _WIN32 |
| 16 | #define chdir(p) (_chdir(p)) | 15 | #define chdir(p) (_chdir(p)) |
| 17 | #define getcwd(d, s) (_getcwd(d, s)) | 16 | #define getcwd(d, s) (_getcwd(d, s)) |
| 18 | #define rmdir(p) (_rmdir(p)) | 17 | #define rmdir(p) (_rmdir(p)) |
| 19 | #ifndef fileno | 18 | #define LFS_EXPORT __declspec (dllexport) |
| 20 | #define fileno(f) (_fileno(f)) | 19 | #ifndef fileno |
| 21 | #endif | 20 | #define fileno(f) (_fileno(f)) |
| 21 | #endif | ||
| 22 | #else | ||
| 23 | #define LFS_EXPORT | ||
| 22 | #endif | 24 | #endif |
| 23 | 25 | ||
| 24 | #ifdef __cplusplus | 26 | #ifdef __cplusplus |
| 25 | extern "C" { | 27 | extern "C" { |
| 26 | #endif | 28 | #endif |
| 27 | 29 | ||
| 28 | int luaopen_lfs (lua_State *L); | 30 | LFS_EXPORT int luaopen_lfs (lua_State *L); |
| 29 | 31 | ||
| 30 | #ifdef __cplusplus | 32 | #ifdef __cplusplus |
| 31 | } | 33 | } |
diff --git a/tests/test.lua b/tests/test.lua index 5872717..193e0bd 100644 --- a/tests/test.lua +++ b/tests/test.lua | |||
| @@ -107,6 +107,9 @@ assert(result) -- on non-Windows platforms, mode is always returned as "binary" | |||
| 107 | result, mode = lfs.setmode(f, "text") | 107 | result, mode = lfs.setmode(f, "text") |
| 108 | assert(result and mode == "binary") | 108 | assert(result and mode == "binary") |
| 109 | f:close() | 109 | f:close() |
| 110 | local ok, err = pcall(lfs.setmode, f, "binary") | ||
| 111 | assert(not ok, "could setmode on closed file") | ||
| 112 | assert(err:find("closed file"), "bad error message for setmode on closed file") | ||
| 110 | 113 | ||
| 111 | io.write(".") | 114 | io.write(".") |
| 112 | io.flush() | 115 | io.flush() |
