67 lines
1.6 KiB
Diff
67 lines
1.6 KiB
Diff
|
Index: luaposix-5.1.2/lposix.c
|
||
|
===================================================================
|
||
|
--- luaposix-5.1.2.orig/lposix.c 2008-06-02 17:35:21.000000000 +0200
|
||
|
+++ luaposix-5.1.2/lposix.c 2008-06-02 17:35:26.000000000 +0200
|
||
|
@@ -1006,6 +1006,29 @@
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
+/*
|
||
|
+ * XXX: GNU and BSD handle the forward declaration of crypt() in different
|
||
|
+ * and annoying ways (especially GNU). Declare it here just to make sure
|
||
|
+ * that it's there
|
||
|
+ */
|
||
|
+char *crypt(const char *, const char *);
|
||
|
+
|
||
|
+static int Pcrypt(lua_State *L)
|
||
|
+{
|
||
|
+ const char *str, *salt;
|
||
|
+ char *res;
|
||
|
+
|
||
|
+ str = luaL_checkstring(L, 1);
|
||
|
+ salt = luaL_checkstring(L, 2);
|
||
|
+ if (strlen(salt) < 2)
|
||
|
+ luaL_error(L, "not enough salt");
|
||
|
+
|
||
|
+ res = crypt(str, salt);
|
||
|
+ lua_pushstring(L, res);
|
||
|
+
|
||
|
+ return 1;
|
||
|
+}
|
||
|
+
|
||
|
static const luaL_reg R[] =
|
||
|
{
|
||
|
{"access", Paccess},
|
||
|
@@ -1013,6 +1036,7 @@
|
||
|
{"chdir", Pchdir},
|
||
|
{"chmod", Pchmod},
|
||
|
{"chown", Pchown},
|
||
|
+ {"crypt", Pcrypt},
|
||
|
{"ctermid", Pctermid},
|
||
|
{"dirname", Pdirname},
|
||
|
{"dir", Pdir},
|
||
|
Index: luaposix-5.1.2/Makefile
|
||
|
===================================================================
|
||
|
--- luaposix-5.1.2.orig/Makefile 2008-06-02 17:35:26.000000000 +0200
|
||
|
+++ luaposix-5.1.2/Makefile 2008-06-02 17:35:18.000000000 +0200
|
||
|
@@ -37,8 +37,10 @@
|
||
|
OS=$(shell uname)
|
||
|
ifeq ($(OS),Darwin)
|
||
|
LDFLAGS_SHARED=-bundle -undefined dynamic_lookup
|
||
|
+ LIBS=
|
||
|
else
|
||
|
LDFLAGS_SHARED=-shared
|
||
|
+ LIBS=-lcrypt
|
||
|
endif
|
||
|
|
||
|
# targets
|
||
|
@@ -50,7 +52,7 @@
|
||
|
$(LUA) test.lua
|
||
|
|
||
|
$T: $(OBJS)
|
||
|
- $(CC) $(LDFLAGS) -o $@ $(LDFLAGS_SHARED) $(OBJS)
|
||
|
+ $(CC) $(LDFLAGS) -o $@ $(LDFLAGS_SHARED) $(OBJS) $(LIBS)
|
||
|
|
||
|
$(OBJS): modemuncher.c
|
||
|
|