diff options
| author | carregal <carregal> | 2008-02-11 22:42:21 +0000 |
|---|---|---|
| committer | carregal <carregal> | 2008-02-11 22:42:21 +0000 |
| commit | b66ab2cae9f03c7b3ff75c97a4a5fc59df442fc0 (patch) | |
| tree | 3821afea9fa46010f0047accff73e6bd85bf68af | |
| parent | 78f28b64686390592792e2d5abba26c6f815d534 (diff) | |
| download | luafilesystem-b66ab2cae9f03c7b3ff75c97a4a5fc59df442fc0.tar.gz luafilesystem-b66ab2cae9f03c7b3ff75c97a4a5fc59df442fc0.tar.bz2 luafilesystem-b66ab2cae9f03c7b3ff75c97a4a5fc59df442fc0.zip | |
Preparing the 1.4.0 release.
Added documentation for lfs.setmode
| -rw-r--r-- | Makefile | 4 | ||||
| -rw-r--r-- | Makefile.win | 4 | ||||
| -rw-r--r-- | README | 8 | ||||
| -rw-r--r-- | doc/us/index.html | 25 | ||||
| -rw-r--r-- | doc/us/license.html | 4 | ||||
| -rw-r--r-- | doc/us/manual.html | 22 | ||||
| -rw-r--r-- | src/lfs.c | 14 | ||||
| -rw-r--r-- | src/lfs.def | 10 | ||||
| -rw-r--r-- | src/lfs.h | 32 |
9 files changed, 74 insertions, 49 deletions
| @@ -1,7 +1,7 @@ | |||
| 1 | # $Id: Makefile,v 1.31 2008/01/23 02:48:47 mascarenhas Exp $ | 1 | # $Id: Makefile,v 1.32 2008/02/11 22:42:21 carregal Exp $ |
| 2 | 2 | ||
| 3 | T= lfs | 3 | T= lfs |
| 4 | V= 1.3.0 | 4 | V= 1.4.0 |
| 5 | CONFIG= ./config | 5 | CONFIG= ./config |
| 6 | 6 | ||
| 7 | include $(CONFIG) | 7 | include $(CONFIG) |
diff --git a/Makefile.win b/Makefile.win index 1fcd921..bc37183 100644 --- a/Makefile.win +++ b/Makefile.win | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | # $Id: Makefile.win,v 1.8 2008/01/23 02:50:08 mascarenhas Exp $ | 1 | # $Id: Makefile.win,v 1.9 2008/02/11 22:42:21 carregal Exp $ |
| 2 | 2 | ||
| 3 | T= lfs | 3 | T= lfs |
| 4 | V= 1.3.0 | 4 | V= 1.4.0 |
| 5 | 5 | ||
| 6 | include config.win | 6 | include config.win |
| 7 | 7 | ||
| @@ -1,5 +1,5 @@ | |||
| 1 | LuaFileSystem - File System Library for Lua | 1 | LuaFileSystem - File System Library for Lua |
| 2 | Copyright 2003-2007 Kepler Project | 2 | Copyright 2003 Kepler Project |
| 3 | http://www.keplerproject.org/luafilesystem | 3 | http://www.keplerproject.org/luafilesystem |
| 4 | 4 | ||
| 5 | Description | 5 | Description |
| @@ -10,7 +10,11 @@ related to file systems offered by the standard Lua distribution. | |||
| 10 | LuaFileSystem offers a portable way to access the underlying directory structure and file attributes. | 10 | LuaFileSystem offers a portable way to access the underlying directory structure and file attributes. |
| 11 | LuaFileSystem is free software and uses the same license as Lua 5.1 | 11 | LuaFileSystem is free software and uses the same license as Lua 5.1 |
| 12 | 12 | ||
| 13 | Current version is 1.3.0 | 13 | Current version is 1.4.0 |
| 14 | |||
| 15 | LuaRocks Installation | ||
| 16 | --------------------- | ||
| 17 | luarocks install lfs | ||
| 14 | 18 | ||
| 15 | Unix Installation | 19 | Unix Installation |
| 16 | ----------------- | 20 | ----------------- |
diff --git a/doc/us/index.html b/doc/us/index.html index e8da278..0283cc0 100644 --- a/doc/us/index.html +++ b/doc/us/index.html | |||
| @@ -71,20 +71,31 @@ the underlying directory structure and file attributes.</p> | |||
| 71 | 71 | ||
| 72 | <h2><a name="status"></a>Status</h2> | 72 | <h2><a name="status"></a>Status</h2> |
| 73 | 73 | ||
| 74 | <p>Current version is 1.3.0. It was developed for Lua 5.1.</p> | 74 | <p>Current version is 1.4.0. It was developed for Lua 5.1.</p> |
| 75 | 75 | ||
| 76 | <h2><a name="download"></a>Download</h2> | 76 | <h2><a name="download"></a>Download</h2> |
| 77 | 77 | ||
| 78 | <p>LuaFileSystem source can be downloaded from its | 78 | <p>LuaFileSystem source can be downloaded from its |
| 79 | <a href="http://luaforge.net/projects/luafilesystem/files">Lua Forge</a> | 79 | <a href="http://luaforge.net/projects/luafilesystem/files">Lua Forge</a> |
| 80 | page. If you are using | 80 | page. If you are using |
| 81 | <a href="http://luabinaries.luaforge.net">LuaBinaries</a> 5.1.2 a Windows binary | 81 | <a href="http://luabinaries.luaforge.net">LuaBinaries</a> 5.1.3 a Windows binary |
| 82 | version of LuaFileSystem can be found at the same LuaForge page.</p> | 82 | version of LuaFileSystem (compiled with Visual Studio 2005 Express) can be found at the same LuaForge page.</p> |
| 83 | 83 | ||
| 84 | <h2><a name="history"></a>History</h2> | 84 | <h2><a name="history"></a>History</h2> |
| 85 | 85 | ||
| 86 | <dl class="history"> | 86 | <dl class="history"> |
| 87 | <dt><strong>Version 1.3.0</strong> [26/Oct/2007]</dt> | 87 | <dt><strong>Version 1.4.0</strong> [12/Feb/2008]</dt> |
| 88 | <dd> | ||
| 89 | <ul> | ||
| 90 | <li><a href="manual.html#attributes"><code>lfs.attributes</code></a> | ||
| 91 | raises an error if attribute does not exist</li> | ||
| 92 | <li>added function | ||
| 93 | <a href="manual.html#setmode"><code>lfs.setmode</code></a> | ||
| 94 | (works only in non Windows systems).</li> | ||
| 95 | </ul> | ||
| 96 | </dd> | ||
| 97 | |||
| 98 | <dt><strong><a href="http://www.keplerproject.org/luafilesystem/1.3/">Version 1.3.0</a></strong> [26/Oct/2007]</dt> | ||
| 88 | <dd> | 99 | <dd> |
| 89 | <ul> | 100 | <ul> |
| 90 | <li>added function | 101 | <li>added function |
| @@ -107,14 +118,14 @@ version of LuaFileSystem can be found at the same LuaForge page.</p> | |||
| 107 | <a href="manual.html#attributes"><code>lfs.attributes</code></a></li> | 118 | <a href="manual.html#attributes"><code>lfs.attributes</code></a></li> |
| 108 | <li>added function | 119 | <li>added function |
| 109 | <a href="manual.html#rmdir"><code>lfs.rmdir</code></a></li> | 120 | <a href="manual.html#rmdir"><code>lfs.rmdir</code></a></li> |
| 110 | <li>bug correction on <code>lfs.dir</code></li> | 121 | <li>bug correction on <a href="manual.html#dir"><code>lfs.dir</code></a></li> |
| 111 | </ul> | 122 | </ul> |
| 112 | </dd> | 123 | </dd> |
| 113 | 124 | ||
| 114 | <dt><strong><a href="http://www.keplerproject.org/luafilesystem/1.1/">Version 1.1</a></strong> [30/May/2005]</dt> | 125 | <dt><strong><a href="http://www.keplerproject.org/luafilesystem/1.1/">Version 1.1</a></strong> [30/May/2005]</dt> |
| 115 | <dd> | 126 | <dd> |
| 116 | <ul> | 127 | <ul> |
| 117 | <li>added function <code>lfs.touch</code>.</li> | 128 | <li>added function <a href="manual.html#touch"><code>lfs.touch</code></a>.</li> |
| 118 | </ul> | 129 | </ul> |
| 119 | </dd> | 130 | </dd> |
| 120 | 131 | ||
| @@ -147,7 +158,7 @@ Comments are welcome!</p> | |||
| 147 | 158 | ||
| 148 | <div id="about"> | 159 | <div id="about"> |
| 149 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> | 160 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> |
| 150 | <p><small>$Id: index.html,v 1.38 2007/12/14 15:28:04 carregal Exp $</small></p> | 161 | <p><small>$Id: index.html,v 1.39 2008/02/11 22:42:21 carregal Exp $</small></p> |
| 151 | </div> <!-- id="about" --> | 162 | </div> <!-- id="about" --> |
| 152 | 163 | ||
| 153 | </div> <!-- id="container" --> | 164 | </div> <!-- id="container" --> |
diff --git a/doc/us/license.html b/doc/us/license.html index 14feb79..4ecad4b 100644 --- a/doc/us/license.html +++ b/doc/us/license.html | |||
| @@ -85,7 +85,7 @@ Ierusalimschy, André Carregal and Tomás Guisasola. | |||
| 85 | The implementation is not derived from licensed software.</p> | 85 | The implementation is not derived from licensed software.</p> |
| 86 | 86 | ||
| 87 | <hr/> | 87 | <hr/> |
| 88 | <p>Copyright © 2004-2007 Kepler Project.</p> | 88 | <p>Copyright © 2003 Kepler Project.</p> |
| 89 | 89 | ||
| 90 | <p>Permission is hereby granted, free of charge, to any person | 90 | <p>Permission is hereby granted, free of charge, to any person |
| 91 | obtaining a copy of this software and associated documentation | 91 | obtaining a copy of this software and associated documentation |
| @@ -113,7 +113,7 @@ SOFTWARE.</p> | |||
| 113 | 113 | ||
| 114 | <div id="about"> | 114 | <div id="about"> |
| 115 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> | 115 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> |
| 116 | <p><small>$Id: license.html,v 1.12 2007/12/14 15:28:04 carregal Exp $</small></p> | 116 | <p><small>$Id: license.html,v 1.13 2008/02/11 22:42:21 carregal Exp $</small></p> |
| 117 | </div><!-- id="about" --> | 117 | </div><!-- id="about" --> |
| 118 | 118 | ||
| 119 | </div><!-- id="container" --> | 119 | </div><!-- id="container" --> |
diff --git a/doc/us/manual.html b/doc/us/manual.html index 32bdb92..762464d 100644 --- a/doc/us/manual.html +++ b/doc/us/manual.html | |||
| @@ -74,7 +74,7 @@ and header files for the target version must be installed properly. | |||
| 74 | <p> | 74 | <p> |
| 75 | LuaFileSystem offers a Makefile and a separate configuration file, | 75 | LuaFileSystem offers a Makefile and a separate configuration file, |
| 76 | <code>config</code>, | 76 | <code>config</code>, |
| 77 | which should be edited to suit your installation before runnig | 77 | which should be edited to suit your installation before running |
| 78 | <code>make</code>. | 78 | <code>make</code>. |
| 79 | The file has some definitions like paths to the external libraries, | 79 | The file has some definitions like paths to the external libraries, |
| 80 | compiler options and the like. | 80 | compiler options and the like. |
| @@ -82,12 +82,14 @@ compiler options and the like. | |||
| 82 | 82 | ||
| 83 | <h2><a name="installation"></a>Installation</h2> | 83 | <h2><a name="installation"></a>Installation</h2> |
| 84 | 84 | ||
| 85 | <p>The LuaFileSystem compiled binary should be copied to a directory in your | 85 | <p>The easiest way to install LuaFileSystem is to use LuaRocks:</p> |
| 86 | <a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.cpath">C path</a>.</p> | 86 | |
| 87 | <pre class="example"> | ||
| 88 | luarocks install lfs | ||
| 89 | </pre> | ||
| 87 | 90 | ||
| 88 | <p>Windows users can use the binary version of LuaFileSystem | 91 | <p>If you prefer to install LuaFileSystem manually, the compiled binary should be copied to a directory in your |
| 89 | (<code>lfs.dll</code>) available at | 92 | <a href="http://www.lua.org/manual/5.1/manual.html#pdf-package.cpath">C path</a>.</p> |
| 90 | <a href="http://luaforge.net/projects/luafilesystem/files">LuaForge</a>.</p> | ||
| 91 | 93 | ||
| 92 | <h2><a name="reference"></a>Reference</h2> | 94 | <h2><a name="reference"></a>Reference</h2> |
| 93 | 95 | ||
| @@ -202,6 +204,12 @@ LuaFileSystem offers the following functions: | |||
| 202 | <dd>Removes an existing directory. The argument is the name of the directory.<br /> | 204 | <dd>Removes an existing directory. The argument is the name of the directory.<br /> |
| 203 | Returns <code>true</code> if the operation was successful; | 205 | Returns <code>true</code> if the operation was successful; |
| 204 | in case of error, it returns <code>nil</code> plus an error string.</dd> | 206 | in case of error, it returns <code>nil</code> plus an error string.</dd> |
| 207 | |||
| 208 | <dt><a name="setmode"></a><strong><code>lfs.setmode (filepath, mode)</code></strong></dt> | ||
| 209 | <dd>Sets the writing mode for a file. The mode string can be either <code>binary</code> or <code>text</code>. | ||
| 210 | Returns the previous mode string for the file. This function is only available in Windows, so you may want to make sure that | ||
| 211 | <code>lfs.setmode</code> exists before using it. | ||
| 212 | </dd> | ||
| 205 | 213 | ||
| 206 | <dt><a name="symlinkattributes"></a><strong><code>lfs.symlinkattributes (filepath [, aname])</code></strong></dt> | 214 | <dt><a name="symlinkattributes"></a><strong><code>lfs.symlinkattributes (filepath [, aname])</code></strong></dt> |
| 207 | <dd>Identical to <a href="#attributes">lfs.attributes</a> except that | 215 | <dd>Identical to <a href="#attributes">lfs.attributes</a> except that |
| @@ -240,7 +248,7 @@ LuaFileSystem offers the following functions: | |||
| 240 | 248 | ||
| 241 | <div id="about"> | 249 | <div id="about"> |
| 242 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> | 250 | <p><a href="http://validator.w3.org/check?uri=referer">Valid XHTML 1.0!</a></p> |
| 243 | <p><small>$Id: manual.html,v 1.38 2007/12/14 15:28:04 carregal Exp $</small></p> | 251 | <p><small>$Id: manual.html,v 1.39 2008/02/11 22:42:21 carregal Exp $</small></p> |
| 244 | </div> <!-- id="about" --> | 252 | </div> <!-- id="about" --> |
| 245 | 253 | ||
| 246 | </div> <!-- id="container" --> | 254 | </div> <!-- id="container" --> |
| @@ -1,6 +1,6 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** LuaFileSystem | 2 | ** LuaFileSystem |
| 3 | ** Copyright Kepler Project 2004-2007 (http://www.keplerproject.org/luafilesystem) | 3 | ** Copyright Kepler Project 2003 (http://www.keplerproject.org/luafilesystem) |
| 4 | ** | 4 | ** |
| 5 | ** File system manipulation library. | 5 | ** File system manipulation library. |
| 6 | ** This library offers these functions: | 6 | ** This library offers these functions: |
| @@ -11,11 +11,12 @@ | |||
| 11 | ** lfs.lock (fh, mode) | 11 | ** lfs.lock (fh, mode) |
| 12 | ** lfs.mkdir (path) | 12 | ** lfs.mkdir (path) |
| 13 | ** lfs.rmdir (path) | 13 | ** lfs.rmdir (path) |
| 14 | ** lfs.setmode (filepath, mode) | ||
| 14 | ** lfs.symlinkattributes (filepath [, attributename]) -- thanks to Sam Roberts | 15 | ** lfs.symlinkattributes (filepath [, attributename]) -- thanks to Sam Roberts |
| 15 | ** lfs.touch (filepath [, atime [, mtime]]) | 16 | ** lfs.touch (filepath [, atime [, mtime]]) |
| 16 | ** lfs.unlock (fh) | 17 | ** lfs.unlock (fh) |
| 17 | ** | 18 | ** |
| 18 | ** $Id: lfs.c,v 1.46 2008/01/25 17:09:56 mascarenhas Exp $ | 19 | ** $Id: lfs.c,v 1.47 2008/02/11 22:42:21 carregal Exp $ |
| 19 | */ | 20 | */ |
| 20 | 21 | ||
| 21 | #include <errno.h> | 22 | #include <errno.h> |
| @@ -75,7 +76,7 @@ typedef struct dir_data { | |||
| 75 | #define _O_TEXT 0 | 76 | #define _O_TEXT 0 |
| 76 | #define _O_BINARY 0 | 77 | #define _O_BINARY 0 |
| 77 | #define lfs_setmode(L,file,m) ((void)((void)file,m), \ | 78 | #define lfs_setmode(L,file,m) ((void)((void)file,m), \ |
| 78 | luaL_error(L, LUA_QL("setmode") " not supported"), -1) | 79 | luaL_error(L, LUA_QL("setmode") " not supported on non Windows platforms"), -1) |
| 79 | #endif | 80 | #endif |
| 80 | 81 | ||
| 81 | /* | 82 | /* |
| @@ -619,13 +620,13 @@ static int link_info (lua_State *L) { | |||
| 619 | */ | 620 | */ |
| 620 | static void set_info (lua_State *L) { | 621 | static void set_info (lua_State *L) { |
| 621 | lua_pushliteral (L, "_COPYRIGHT"); | 622 | lua_pushliteral (L, "_COPYRIGHT"); |
| 622 | lua_pushliteral (L, "Copyright (C) 2003-2007 Kepler Project"); | 623 | lua_pushliteral (L, "Copyright (C) 2003 Kepler Project"); |
| 623 | lua_settable (L, -3); | 624 | lua_settable (L, -3); |
| 624 | lua_pushliteral (L, "_DESCRIPTION"); | 625 | lua_pushliteral (L, "_DESCRIPTION"); |
| 625 | 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"); | 626 | 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"); |
| 626 | lua_settable (L, -3); | 627 | lua_settable (L, -3); |
| 627 | lua_pushliteral (L, "_VERSION"); | 628 | lua_pushliteral (L, "_VERSION"); |
| 628 | lua_pushliteral (L, "LuaFileSystem 1.3.0"); | 629 | lua_pushliteral (L, "LuaFileSystem 1.4.0"); |
| 629 | lua_settable (L, -3); | 630 | lua_settable (L, -3); |
| 630 | } | 631 | } |
| 631 | 632 | ||
| @@ -636,11 +637,12 @@ static const struct luaL_reg fslib[] = { | |||
| 636 | {"currentdir", get_dir}, | 637 | {"currentdir", get_dir}, |
| 637 | {"dir", dir_iter_factory}, | 638 | {"dir", dir_iter_factory}, |
| 638 | {"lock", file_lock}, | 639 | {"lock", file_lock}, |
| 639 | {"setmode", lfs_f_setmode}, | ||
| 640 | {"mkdir", make_dir}, | 640 | {"mkdir", make_dir}, |
| 641 | {"rmdir", remove_dir}, | 641 | {"rmdir", remove_dir}, |
| 642 | #ifndef _WIN32 | 642 | #ifndef _WIN32 |
| 643 | {"symlinkattributes", link_info}, | 643 | {"symlinkattributes", link_info}, |
| 644 | #else | ||
| 645 | {"setmode", lfs_f_setmode}, | ||
| 644 | #endif | 646 | #endif |
| 645 | {"touch", file_utime}, | 647 | {"touch", file_utime}, |
| 646 | {"unlock", file_unlock}, | 648 | {"unlock", file_unlock}, |
diff --git a/src/lfs.def b/src/lfs.def index dfe5c59..a0483c7 100644 --- a/src/lfs.def +++ b/src/lfs.def | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | LIBRARY lfs.dll | 1 | LIBRARY lfs.dll |
| 2 | DESCRIPTION "LuaFileSystem" | 2 | DESCRIPTION "LuaFileSystem" |
| 3 | VERSION 1.2.1 | 3 | VERSION 1.4.0 |
| 4 | EXPORTS | 4 | EXPORTS |
| 5 | luaopen_lfs | 5 | luaopen_lfs |
| @@ -1,16 +1,16 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** LuaFileSystem | 2 | ** LuaFileSystem |
| 3 | ** Copyright Kepler Project 2004-2006 (http://www.keplerproject.org/luafilesystem) | 3 | ** Copyright Kepler Project 2003 (http://www.keplerproject.org/luafilesystem) |
| 4 | ** | 4 | ** |
| 5 | ** $Id: lfs.h,v 1.3 2006/03/10 23:37:32 carregal Exp $ | 5 | ** $Id: lfs.h,v 1.4 2008/02/11 22:42:21 carregal Exp $ |
| 6 | */ | 6 | */ |
| 7 | 7 | ||
| 8 | /* Define 'chdir' for systems that do not implement it */ | 8 | /* Define 'chdir' for systems that do not implement it */ |
| 9 | #ifdef NO_CHDIR | 9 | #ifdef NO_CHDIR |
| 10 | #define chdir(p) (-1) | 10 | #define chdir(p) (-1) |
| 11 | #define chdir_error "Function 'chdir' not provided by system" | 11 | #define chdir_error "Function 'chdir' not provided by system" |
| 12 | #else | 12 | #else |
| 13 | #define chdir_error strerror(errno) | 13 | #define chdir_error strerror(errno) |
| 14 | #endif | 14 | #endif |
| 15 | 15 | ||
| 16 | int luaopen_lfs (lua_State *L); | 16 | int luaopen_lfs (lua_State *L); |
