|
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
|
|
#
|
|
|
|
# Filename: package/.../lua-posix/t2-ext-glob.patch
|
|
|
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
|
|
|
#
|
|
|
|
# More information can be found in the files COPYING and README.
|
|
|
|
#
|
|
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
|
|
# of the GNU General Public License as published by the Free Software
|
|
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
|
|
# version.
|
|
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
--- posix/lposix.c 2005-09-08 21:50:42.445019600 +0200
|
|
|
|
+++ posix-t2/lposix.c 2005-09-08 21:49:14.994723494 +0200
|
|
|
|
@@ -22,6 +22,7 @@
|
|
|
|
#include <time.h>
|
|
|
|
#include <unistd.h>
|
|
|
|
#include <utime.h>
|
|
|
|
+#include <glob.h>
|
|
|
|
|
|
|
|
#define MYNAME "posix"
|
|
|
|
#define MYVERSION MYNAME " library for " LUA_VERSION " / Nov 2003"
|
|
|
|
@@ -177,6 +178,25 @@
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+static int Pglob(lua_State *L) /** glob(pattern) */
|
|
|
|
+{
|
|
|
|
+ const char *pattern = luaL_optstring(L, 1, ".");
|
|
|
|
+ glob_t globres;
|
|
|
|
+
|
|
|
|
+ if (glob(pattern, GLOB_MARK, NULL, &globres))
|
|
|
|
+ return pusherror(L, pattern);
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ int i;
|
|
|
|
+ lua_newtable(L);
|
|
|
|
+ for (i=1; i<=globres.gl_pathc; i++)
|
|
|
|
+ storeindex(L, i, globres.gl_pathv[i-1]);
|
|
|
|
+ globfree(&globres);
|
|
|
|
+ return 1;
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
static int aux_files(lua_State *L)
|
|
|
|
{
|
|
|
|
DIR *d = lua_touserdata(L, lua_upvalueindex(1));
|
|
|
|
@@ -773,6 +793,7 @@
|
|
|
|
{"getlogin", Pgetlogin},
|
|
|
|
{"getpasswd", Pgetpasswd},
|
|
|
|
{"getprocessid", Pgetprocessid},
|
|
|
|
+ {"glob", Pglob},
|
|
|
|
{"kill", Pkill},
|
|
|
|
{"link", Plink},
|
|
|
|
{"mkdir", Pmkdir},
|