mirror of
https://github.com/lunarmodules/luafilesystem.git
synced 2026-07-24 20:33:06 +00:00
Preparing the 1.4.0 release.
Added documentation for lfs.setmode
This commit is contained in:
4
Makefile
4
Makefile
@@ -1,7 +1,7 @@
|
||||
# $Id: Makefile,v 1.31 2008/01/23 02:48:47 mascarenhas Exp $
|
||||
# $Id: Makefile,v 1.32 2008/02/11 22:42:21 carregal Exp $
|
||||
|
||||
T= lfs
|
||||
V= 1.3.0
|
||||
V= 1.4.0
|
||||
CONFIG= ./config
|
||||
|
||||
include $(CONFIG)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# $Id: Makefile.win,v 1.8 2008/01/23 02:50:08 mascarenhas Exp $
|
||||
# $Id: Makefile.win,v 1.9 2008/02/11 22:42:21 carregal Exp $
|
||||
|
||||
T= lfs
|
||||
V= 1.3.0
|
||||
V= 1.4.0
|
||||
|
||||
include config.win
|
||||
|
||||
|
||||
8
README
8
README
@@ -1,5 +1,5 @@
|
||||
LuaFileSystem - File System Library for Lua
|
||||
Copyright 2003-2007 Kepler Project
|
||||
Copyright 2003 Kepler Project
|
||||
http://www.keplerproject.org/luafilesystem
|
||||
|
||||
Description
|
||||
@@ -10,7 +10,11 @@ related to file systems offered by the standard Lua distribution.
|
||||
LuaFileSystem offers a portable way to access the underlying directory structure and file attributes.
|
||||
LuaFileSystem is free software and uses the same license as Lua 5.1
|
||||
|
||||
Current version is 1.3.0
|
||||
Current version is 1.4.0
|
||||
|
||||
LuaRocks Installation
|
||||
---------------------
|
||||
luarocks install lfs
|
||||
|
||||
Unix Installation
|
||||
-----------------
|
||||
|
||||
@@ -71,20 +71,31 @@ the underlying directory structure and file attributes.</p>
|
||||
|
||||
<h2><a name="status"></a>Status</h2>
|
||||
|
||||
<p>Current version is 1.3.0. It was developed for Lua 5.1.</p>
|
||||
<p>Current version is 1.4.0. It was developed for Lua 5.1.</p>
|
||||
|
||||
<h2><a name="download"></a>Download</h2>
|
||||
|
||||
<p>LuaFileSystem source can be downloaded from its
|
||||
<a href="http://luaforge.net/projects/luafilesystem/files">Lua Forge</a>
|
||||
page. If you are using
|
||||
<a href="http://luabinaries.luaforge.net">LuaBinaries</a> 5.1.2 a Windows binary
|
||||
version of LuaFileSystem can be found at the same LuaForge page.</p>
|
||||
<a href="http://luabinaries.luaforge.net">LuaBinaries</a> 5.1.3 a Windows binary
|
||||
version of LuaFileSystem (compiled with Visual Studio 2005 Express) can be found at the same LuaForge page.</p>
|
||||
|
||||
<h2><a name="history"></a>History</h2>
|
||||
|
||||
<dl class="history">
|
||||
<dt><strong>Version 1.3.0</strong> [26/Oct/2007]</dt>
|
||||
<dt><strong>Version 1.4.0</strong> [12/Feb/2008]</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
<li><a href="manual.html#attributes"><code>lfs.attributes</code></a>
|
||||
raises an error if attribute does not exist</li>
|
||||
<li>added function
|
||||
<a href="manual.html#setmode"><code>lfs.setmode</code></a>
|
||||
(works only in non Windows systems).</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt><strong><a href="http://www.keplerproject.org/luafilesystem/1.3/">Version 1.3.0</a></strong> [26/Oct/2007]</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>added function
|
||||
@@ -107,14 +118,14 @@ version of LuaFileSystem can be found at the same LuaForge page.</p>
|
||||
<a href="manual.html#attributes"><code>lfs.attributes</code></a></li>
|
||||
<li>added function
|
||||
<a href="manual.html#rmdir"><code>lfs.rmdir</code></a></li>
|
||||
<li>bug correction on <code>lfs.dir</code></li>
|
||||
<li>bug correction on <a href="manual.html#dir"><code>lfs.dir</code></a></li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
<dt><strong><a href="http://www.keplerproject.org/luafilesystem/1.1/">Version 1.1</a></strong> [30/May/2005]</dt>
|
||||
<dd>
|
||||
<ul>
|
||||
<li>added function <code>lfs.touch</code>.</li>
|
||||
<li>added function <a href="manual.html#touch"><code>lfs.touch</code></a>.</li>
|
||||
</ul>
|
||||
</dd>
|
||||
|
||||
@@ -147,7 +158,7 @@ Comments are welcome!</p>
|
||||
|
||||
<div id="about">
|
||||
<p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p>
|
||||
<p><small>$Id: index.html,v 1.38 2007/12/14 15:28:04 carregal Exp $</small></p>
|
||||
<p><small>$Id: index.html,v 1.39 2008/02/11 22:42:21 carregal Exp $</small></p>
|
||||
</div> <!-- id="about" -->
|
||||
|
||||
</div> <!-- id="container" -->
|
||||
|
||||
@@ -85,7 +85,7 @@ Ierusalimschy, André Carregal and Tomás Guisasola.
|
||||
The implementation is not derived from licensed software.</p>
|
||||
|
||||
<hr/>
|
||||
<p>Copyright © 2004-2007 Kepler Project.</p>
|
||||
<p>Copyright © 2003 Kepler Project.</p>
|
||||
|
||||
<p>Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
@@ -113,7 +113,7 @@ SOFTWARE.</p>
|
||||
|
||||
<div id="about">
|
||||
<p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p>
|
||||
<p><small>$Id: license.html,v 1.12 2007/12/14 15:28:04 carregal Exp $</small></p>
|
||||
<p><small>$Id: license.html,v 1.13 2008/02/11 22:42:21 carregal Exp $</small></p>
|
||||
</div><!-- id="about" -->
|
||||
|
||||
</div><!-- id="container" -->
|
||||
|
||||
@@ -74,7 +74,7 @@ and header files for the target version must be installed properly.
|
||||
<p>
|
||||
LuaFileSystem offers a Makefile and a separate configuration file,
|
||||
<code>config</code>,
|
||||
which should be edited to suit your installation before runnig
|
||||
which should be edited to suit your installation before running
|
||||
<code>make</code>.
|
||||
The file has some definitions like paths to the external libraries,
|
||||
compiler options and the like.
|
||||
@@ -82,12 +82,14 @@ compiler options and the like.
|
||||
|
||||
<h2><a name="installation"></a>Installation</h2>
|
||||
|
||||
<p>The LuaFileSystem compiled binary should be copied to a directory in your
|
||||
<a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.cpath">C path</a>.</p>
|
||||
<p>The easiest way to install LuaFileSystem is to use LuaRocks:</p>
|
||||
|
||||
<p>Windows users can use the binary version of LuaFileSystem
|
||||
(<code>lfs.dll</code>) available at
|
||||
<a href="http://luaforge.net/projects/luafilesystem/files">LuaForge</a>.</p>
|
||||
<pre class="example">
|
||||
luarocks install lfs
|
||||
</pre>
|
||||
|
||||
<p>If you prefer to install LuaFileSystem manually, the compiled binary should be copied to a directory in your
|
||||
<a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.cpath">C path</a>.</p>
|
||||
|
||||
<h2><a name="reference"></a>Reference</h2>
|
||||
|
||||
@@ -203,6 +205,12 @@ LuaFileSystem offers the following functions:
|
||||
Returns <code>true</code> if the operation was successful;
|
||||
in case of error, it returns <code>nil</code> plus an error string.</dd>
|
||||
|
||||
<dt><a name="setmode"></a><strong><code>lfs.setmode (filepath, mode)</code></strong></dt>
|
||||
<dd>Sets the writing mode for a file. The mode string can be either <code>binary</code> or <code>text</code>.
|
||||
Returns the previous mode string for the file. This function is only available in Windows, so you may want to make sure that
|
||||
<code>lfs.setmode</code> exists before using it.
|
||||
</dd>
|
||||
|
||||
<dt><a name="symlinkattributes"></a><strong><code>lfs.symlinkattributes (filepath [, aname])</code></strong></dt>
|
||||
<dd>Identical to <a href="#attributes">lfs.attributes</a> except that
|
||||
it obtains information about the link itself (not the file it refers to).
|
||||
@@ -240,7 +248,7 @@ LuaFileSystem offers the following functions:
|
||||
|
||||
<div id="about">
|
||||
<p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p>
|
||||
<p><small>$Id: manual.html,v 1.38 2007/12/14 15:28:04 carregal Exp $</small></p>
|
||||
<p><small>$Id: manual.html,v 1.39 2008/02/11 22:42:21 carregal Exp $</small></p>
|
||||
</div> <!-- id="about" -->
|
||||
|
||||
</div> <!-- id="container" -->
|
||||
|
||||
14
src/lfs.c
14
src/lfs.c
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
** LuaFileSystem
|
||||
** Copyright Kepler Project 2004-2007 (http://www.keplerproject.org/luafilesystem)
|
||||
** Copyright Kepler Project 2003 (http://www.keplerproject.org/luafilesystem)
|
||||
**
|
||||
** File system manipulation library.
|
||||
** This library offers these functions:
|
||||
@@ -11,11 +11,12 @@
|
||||
** lfs.lock (fh, mode)
|
||||
** lfs.mkdir (path)
|
||||
** lfs.rmdir (path)
|
||||
** lfs.setmode (filepath, mode)
|
||||
** lfs.symlinkattributes (filepath [, attributename]) -- thanks to Sam Roberts
|
||||
** lfs.touch (filepath [, atime [, mtime]])
|
||||
** lfs.unlock (fh)
|
||||
**
|
||||
** $Id: lfs.c,v 1.46 2008/01/25 17:09:56 mascarenhas Exp $
|
||||
** $Id: lfs.c,v 1.47 2008/02/11 22:42:21 carregal Exp $
|
||||
*/
|
||||
|
||||
#include <errno.h>
|
||||
@@ -75,7 +76,7 @@ typedef struct dir_data {
|
||||
#define _O_TEXT 0
|
||||
#define _O_BINARY 0
|
||||
#define lfs_setmode(L,file,m) ((void)((void)file,m), \
|
||||
luaL_error(L, LUA_QL("setmode") " not supported"), -1)
|
||||
luaL_error(L, LUA_QL("setmode") " not supported on non Windows platforms"), -1)
|
||||
#endif
|
||||
|
||||
/*
|
||||
@@ -619,13 +620,13 @@ static int link_info (lua_State *L) {
|
||||
*/
|
||||
static void set_info (lua_State *L) {
|
||||
lua_pushliteral (L, "_COPYRIGHT");
|
||||
lua_pushliteral (L, "Copyright (C) 2003-2007 Kepler Project");
|
||||
lua_pushliteral (L, "Copyright (C) 2003 Kepler Project");
|
||||
lua_settable (L, -3);
|
||||
lua_pushliteral (L, "_DESCRIPTION");
|
||||
lua_pushliteral (L, "LuaFileSystem is a Lua library developed to complement the set of functions related to file systems offered by the standard Lua distribution");
|
||||
lua_settable (L, -3);
|
||||
lua_pushliteral (L, "_VERSION");
|
||||
lua_pushliteral (L, "LuaFileSystem 1.3.0");
|
||||
lua_pushliteral (L, "LuaFileSystem 1.4.0");
|
||||
lua_settable (L, -3);
|
||||
}
|
||||
|
||||
@@ -636,11 +637,12 @@ static const struct luaL_reg fslib[] = {
|
||||
{"currentdir", get_dir},
|
||||
{"dir", dir_iter_factory},
|
||||
{"lock", file_lock},
|
||||
{"setmode", lfs_f_setmode},
|
||||
{"mkdir", make_dir},
|
||||
{"rmdir", remove_dir},
|
||||
#ifndef _WIN32
|
||||
{"symlinkattributes", link_info},
|
||||
#else
|
||||
{"setmode", lfs_f_setmode},
|
||||
#endif
|
||||
{"touch", file_utime},
|
||||
{"unlock", file_unlock},
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
LIBRARY lfs.dll
|
||||
DESCRIPTION "LuaFileSystem"
|
||||
VERSION 1.2.1
|
||||
VERSION 1.4.0
|
||||
EXPORTS
|
||||
luaopen_lfs
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/*
|
||||
** LuaFileSystem
|
||||
** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/luafilesystem)
|
||||
** Copyright Kepler Project 2003 (http://www.keplerproject.org/luafilesystem)
|
||||
**
|
||||
** $Id: lfs.h,v 1.3 2006/03/10 23:37:32 carregal Exp $
|
||||
** $Id: lfs.h,v 1.4 2008/02/11 22:42:21 carregal Exp $
|
||||
*/
|
||||
|
||||
/* Define 'chdir' for systems that do not implement it */
|
||||
|
||||
Reference in New Issue
Block a user