Commit Graph

142 Commits

Author SHA1 Message Date
Vas Crabb
97b522ec12 Explicitly cast void * pointers - allows code to build cleanly as C++. (#165) 2023-12-12 20:18:01 -03:00
rpatters1
472cd783d7 Fix a few compiler warnings (#171)
Fixes warnings (probably) introduced with 64-bit. Mainly explicit typecasts to int to silence "possible loss of precision" warnings. These are lengths of filenames, so they're not going to exceed 4GB.
2023-12-12 20:05:42 -03:00
Hisham Muhammad
912e06714f keplerproject -> lunarmodules 2022-07-26 12:40:59 -03:00
Hisham Muhammad
e4eae33de5 win32: use standard memmove function 2022-07-15 17:09:35 -03:00
Hisham Muhammad
7c6e1b013c Release 1.8.0 2020-04-22 22:16:42 -03:00
Hisham Muhammad
842505b6a3 Lua 5.4: use __close to close dir if you break the iterator 2020-04-22 11:30:28 -03:00
Hisham Muhammad
3e879ffba1 indent -kr -nut -i2 src/lfs.c src/lfs.h 2020-04-22 11:30:28 -03:00
云风
a5336d294d Use CREATE_ALWAYS instead of CREATE_NEW 2020-04-21 18:36:43 -03:00
Hisham Muhammad
1a61e5284d win32: strip UNC prefix if present 2020-04-21 13:45:50 -03:00
Hisham Muhammad
7cb7d86dc4 win32 lstat: if it's not a link, just do stat 2020-04-21 13:45:50 -03:00
Hisham Muhammad
94700f7c18 win32: obtain symlink attributes 2020-04-21 13:45:50 -03:00
Eroica
53d2acc517 Add Windows compatibility for lfs.link
Co-Authored-By: Hisham Muhammad <hisham@gobolinux.org>
2020-04-21 13:45:50 -03:00
Peter Melnichenko
04ba8d686a Support Lua 5.4 2020-04-20 18:50:38 -03:00
James McCoy
04bdaf9a1e Fallback to _POSIX_PATH_MAX when MAXPATHLEN isn't available (#130)
On systems where MAXPATHLEN isn't defined, like GNU/Hurd, use
_POSIX_PATH_MAX as the starting size for the getcwd() buffer.
2019-10-29 16:08:55 -04:00
Hisham Muhammad
884b52a3b2 Fix memory leak in case of realloc failure. (#102)
Fixes #101.
2017-11-27 14:03:38 -02:00
Stephen E. Baker
fe964e013d Update version in lfs.def (#96)
Version number of current release is 1.7
2017-10-08 17:03:08 -03:00
Hisham Muhammad
a23cadf009 Fix _VERSION entry
Thanks Milind Gupta for noting!
2017-09-15 20:04:43 -03:00
Peter Melnichenko
d399961536 Merge branch '1.7' 2017-09-14 12:15:58 +03:00
Peter Melnichenko
dd6911ef15 Update copyright year [ci skip] 2017-09-14 12:10:39 +03:00
Peter Melnichenko
a84d81bc52 Fix compilation warning for LuaJIT 2.1
Do not redefine or reimplement standard Lua C API function
luaL_newlib, use another name (new_lib) instead.
2017-09-14 12:01:00 +03:00
NiteHawk
3c4e563d9c Dynamically size getcwd() buffer in get_dir function (#84)
* Dynamically size getcwd() buffer in get_dir function

This should fix issue 42.

* Fixup: Properly respect NO_GETCWD

* Fixup: Get rid of getcwd_error, handle NO_GETCWD in a single place
2016-10-14 15:46:54 -07:00
Peter Melnichenko
50919ed69f Fix lfs.attributes and lfs.symlinkattributes extra argument handling
When the second argument is not a string, _file_info() wants to
ensure that there is a table on top of the stack: the second argument
or a new table. If a new table is pushed it's created on top immediately,
but if a table is passed as the second argument it can be followed
by extra arguments, with the last one ending up being used as a table,
causing a crash. The fix is to remove any potential extra arguments
using `lua_settop(L, 2)`.

Also added a few tests for this case. Ref #80.
2016-08-25 18:31:09 +03:00
NiteHawk
32b355a990 Add a 'target' field for symlinkattributes.
It returns the resolved path of the symlink.

Original version by Hisham <hisham@gobolinux.org>, modified to
use a different strategy for sizing the readlink() buffer.
2016-07-16 15:35:27 +02:00
Peter Melnichenko
a332bde584 Merge branch 'master' into 1.7 2016-06-21 10:48:11 +03:00
Eric Cosatto
6e0dc7b27c Fix export of luaopen_lfs on Windows (#74)
* Make lfs export luaopen_lfs under Windows
2016-06-01 17:52:07 -03:00
Peter Melnichenko
b37e88b3d6 Return errno from lfs.attributes on error 2016-05-05 12:39:17 +03:00
Peter Melnichenko
8f167ef1de Return errno from lfs.touch on error 2016-05-05 12:39:17 +03:00
Peter Melnichenko
8b85d257a6 Return errno from lfs.rmdir on error 2016-05-05 12:39:17 +03:00
Peter Melnichenko
d186dda4d7 Return errno from lfs.mkdir on error
Change pushresult() to return true on success.
Change make_link to keep returning 0.
2016-05-05 12:38:28 +03:00
Peter Melnichenko
1937ba848b Include strerror(errno) into error message in lfs.attributes 2016-05-05 12:12:07 +03:00
Peter Melnichenko
732f9e9309 Add attribute name to error on invalid attribute in lfs.attributes 2016-05-05 12:10:04 +03:00
Peter Melnichenko
03e01ff953 Document passing table as second argument to lfs.attributes 2016-05-04 18:25:06 +03:00
Peter Melnichenko
3789521838 Refactor set_info() using lua_setfield
About indentation: currently parts of lfs.c use 2 spaces
and parts use 8. It would be nice to slowly switch to one
of styles over some time, as code is being touched here and there.
2 spaces seem preferrable as it's what Lua itself uses.
2016-05-04 13:40:30 +03:00
Peter Melnichenko
5220452e3b Update top level comments 2016-05-04 13:35:55 +03:00
Peter Melnichenko
12d1f260f3 Fix a warning when compiling as C++11 2016-05-04 13:05:19 +03:00
Hisham Muhammad
436bc441fa Merge pull request #68 from mpeterv/setmode-refactor
Minor refactoring of setmode
2016-04-25 16:56:26 -03:00
Peter Melnichenko
c1e9c70214 Don't pass Lua state to lfs_setmode, it's always unused 2016-04-25 15:42:54 +03:00
Peter Melnichenko
655ec8baa3 Use pusherror in lfs_g_setmode 2016-04-25 15:36:37 +03:00
Peter Melnichenko
695def20ef Get rid of goto in lfs_g_setmode 2016-04-25 15:33:12 +03:00
NiteHawk
ba6d0e1ad9 Have make_link() use pushresult() instead of pusherror() on Windows
The pushresult(L, -1, ...) call will delegate to pusherror() anyway,
but this avoids the "Unused static" warning for pushresult.

Also take care of assigning something meaningful to `errno`, as
strerror(errno) is used for constructing the Lua error message.

Fixes #65
2016-03-25 13:07:13 +01:00
Thijs Schreijer
dc00750ea9 fix warning for redefining macro on MinGW 2015-08-24 20:54:36 +02:00
Philipp Janda
c315150aff Fix detection of closed files on Lua 5.2/5.3.
Lua 5.2 changed the protocol on how to represent closed files: Lua 5.1
sets the file pointer to NULL, Lua 5.2 sets the close function pointer
to NULL (a NULL file pointer now signals an incompletely constructed
object).
Also `luaL_checkudata` never returns NULL, it raises an error instead
if you have an invalid value (no userdata/not correct userdata type).
2015-06-14 22:44:46 +02:00
Hisham Muhammad
75eed716c6 Merge branch 'master' of git://github.com/keplerproject/luafilesystem 2015-03-19 14:52:14 -03:00
Alex
644c9c32ca DEF file fixes (DESCRIPTION is deprecated; VERSION must contain one or two numers) 2015-02-16 08:15:41 +03:00
Alex
25ecbd31db A few minor things fixed which prevented compilation of LuaFileSystem as C++ code 2015-02-15 08:20:50 +03:00
Hisham Muhammad
8014725009 Prepare for release 1.6.3 2015-01-15 16:58:20 -02:00
Hisham Muhammad
0a82aae451 Cleanup use of explicit \0 2015-01-15 16:50:01 -02:00
Andrew Starks
e798c4f07f Updated to support Lua 5.3. Fixed to supress warnings in windows. Removed extra null byte off of const string (windows only). 2015-01-15 12:39:51 -06:00
Hisham Muhammad
5422c7ac6b Merge pull request #46 from moteus/master
Add. Travis files.
2014-11-12 15:57:35 -02:00
Alexey Melnichuk
8f2949974a Fix. Support Lua 5.3.beta 2014-11-12 14:51:55 +04:00