Blob Blame History Raw
--- apt-0.5.15lorg3.95.git522/apt-pkg/luaiface.cc.lua-52	2011-04-07 22:18:59.000000000 +0900
+++ apt-0.5.15lorg3.95.git522/apt-pkg/luaiface.cc	2014-05-19 14:21:01.000000000 +0900
@@ -41,6 +41,18 @@
 
 using namespace std;
 
+#ifndef lua_pushglobaltable
+#define lua_pushglobaltable(L) lua_pushvalue(L, LUA_GLOBALSINDEX)
+#endif
+
+#ifndef lua_open
+#define lua_open()     luaL_newstate()
+#endif
+
+#ifndef lua_strlen
+#define lua_strlen(L,i)        lua_rawlen(L, (i))
+#endif
+
 #define pushudata(ctype, value) \
    do { \
       ctype *_tmp = (ctype *) lua_newuserdata(L, sizeof(ctype)); \
@@ -107,14 +119,14 @@
       lua_settop(L, 0);  /* discard any results */
    }
 #else
-   const luaL_reg lualibs[] = {
+   const luaL_Reg lualibs[] = {
       {"posix", luaopen_posix},
       {"rex", luaopen_rex},
       {"apt", luaopen_apt},
       {NULL, NULL}
    };
    luaL_openlibs(L);
-   const luaL_reg *lib = lualibs;
+   const luaL_Reg *lib = lualibs;
    for (; lib->name; lib++) {
       lua_pushcfunction(L, lib->func);
       lua_pushstring(L, lib->name);
@@ -174,14 +186,14 @@
 	    continue;
 	 if (Value == "interactive") {
 	    lua_pushstring(L, "script_slot");
-	    lua_pushstring(L, ConfListKey);
-	    lua_rawset(L, LUA_GLOBALSINDEX);
+	    lua_setglobal(L, ConfListKey);
 
 	    RunInteractive(ConfListKey);
 
 	    lua_pushstring(L, "script_slot");
 	    lua_pushnil(L);
-	    lua_rawset(L, LUA_GLOBALSINDEX);
+	    lua_setglobal(L, "script_slot");
+
 	    continue;
 	 }
 	 if (Value[0] == '.' || Value[0] == '/') {
@@ -213,15 +225,13 @@
    }
 
    lua_pushstring(L, "script_slot");
-   lua_pushstring(L, ConfListKey);
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, ConfListKey);
 
    InternalRunScript();
 
    lua_pushstring(L, "script_slot");
    lua_pushnil(L);
-   lua_rawset(L, LUA_GLOBALSINDEX);
-
+   lua_setglobal(L, "script_slot");
    lua_pop(L, 1);
 
    return true;
@@ -359,7 +369,7 @@
 {
    lua_pushstring(L, Name);
    lua_pushnil(L);
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -368,7 +378,7 @@
    if (Value != NULL) {
       lua_pushstring(L, Name);
       lua_pushstring(L, Value);
-      lua_rawset(L, LUA_GLOBALSINDEX);
+      lua_setglobal(L, Name);
    }
    Globals.push_back(Name);
 }
@@ -378,7 +388,7 @@
    if (Value != NULL) {
       lua_pushstring(L, Name);
       pushudata(pkgCache::Package*, Value);
-      lua_rawset(L, LUA_GLOBALSINDEX);
+      lua_setglobal(L, Name);
    }
    Globals.push_back(Name);
 }
@@ -393,7 +403,7 @@
       lua_pushstring(L, Value[i]);
       lua_rawseti(L, -2, i+1);
    }
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -408,7 +418,7 @@
       lua_pushstring(L, Value[i]);
       lua_rawseti(L, -2, i+1);
    }
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -423,7 +433,7 @@
       lua_pushstring(L, Value[i].c_str());
       lua_rawseti(L, -2, i+1);
    }
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -438,7 +448,7 @@
       pushudata(pkgCache::Package*, Value[i]);
       lua_rawseti(L, -2, i+1);
    }
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -446,7 +456,7 @@
 {
    lua_pushstring(L, Name);
    lua_pushboolean(L, Value);
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -454,7 +464,7 @@
 {
    lua_pushstring(L, Name);
    lua_pushnumber(L, Value);
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -463,7 +473,7 @@
    if (Value != NULL) {
       lua_pushstring(L, Name);
       lua_pushlightuserdata(L, Value);
-      lua_rawset(L, LUA_GLOBALSINDEX);
+      lua_setglobal(L, Name);
    }
    Globals.push_back(Name);
 }
@@ -472,7 +482,7 @@
 {
    lua_pushstring(L, Name);
    lua_pushcfunction(L, Value);
-   lua_rawset(L, LUA_GLOBALSINDEX);
+   lua_setglobal(L, Name);
    Globals.push_back(Name);
 }
 
@@ -483,7 +493,7 @@
 	   I != Globals.end(); I++) {
 	 lua_pushstring(L, I->c_str());
 	 lua_pushnil(L);
-	 lua_rawset(L, LUA_GLOBALSINDEX);
+         lua_setglobal(L, I->c_str());
       }
       Globals.clear();
    }
@@ -492,7 +502,7 @@
 const char *Lua::GetGlobalStr(const char *Name)
 {
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    const char *Ret = NULL;
    if (lua_isstring(L, -1))
       Ret = lua_tostring(L, -1);
@@ -504,7 +514,7 @@
 {
    vector<string> Ret;
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    int t = lua_gettop(L);
    if (lua_istable(L, t)) {
       lua_pushnil(L);
@@ -520,8 +530,9 @@
 
 double Lua::GetGlobalNum(const char *Name)
 {
+
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    double Ret = 0;
    if (lua_isnumber(L, -1))
       Ret = lua_tonumber(L, -1);
@@ -532,7 +543,7 @@
 bool Lua::GetGlobalBool(const char *Name)
 {
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    bool Ret = lua_toboolean(L, -1);
    lua_remove(L, -1);
    return Ret;
@@ -541,7 +552,7 @@
 void *Lua::GetGlobalPtr(const char *Name)
 {
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    void *Ret = NULL;
    if (lua_isuserdata(L, -1))
       Ret = lua_touserdata(L, -1);
@@ -552,7 +563,7 @@
 pkgCache::Package *Lua::GetGlobalPkg(const char *Name)
 {
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    pkgCache::Package *Ret;
    checkudata(pkgCache::Package*, Ret, -1);
    lua_remove(L, -1);
@@ -563,7 +574,7 @@
 {
    vector<pkgCache::Package*> Ret;
    lua_pushstring(L, Name);
-   lua_rawget(L, LUA_GLOBALSINDEX);
+   lua_getglobal(L, Name);
    int t = lua_gettop(L);
    if (lua_istable(L, t)) {
       lua_pushnil(L);
@@ -1467,7 +1478,7 @@
    const char *str = luaL_checkstring(L, 1);
    if (str != NULL) {
       lua_pushliteral(L, "TEXTDOMAIN");
-      lua_rawget(L, LUA_GLOBALSINDEX);
+      lua_getglobal(L, "TEXTDOMAIN");
       if (lua_isstring(L, -1))
 	 lua_pushstring(L, dgettext(lua_tostring(L, -1), str));
       else
@@ -1478,7 +1489,7 @@
    return 0;
 }
 
-static const luaL_reg aptlib[] = {
+static const luaL_Reg aptlib[] = {
    {"confget",		AptLua_confget},
    {"confgetlist",	AptLua_confgetlist},
    {"confset",		AptLua_confset},
@@ -1552,7 +1563,7 @@
 
 static int luaopen_apt(lua_State *L)
 {
-   lua_pushvalue(L, LUA_GLOBALSINDEX);
+   lua_pushglobaltable(L);
    luaL_openlib(L, NULL, aptlib, 0);
    return 0;
 }
--- apt-0.5.15lorg3.95.git522/luaext/lposix.c.lua-52	2011-04-07 22:18:59.000000000 +0900
+++ apt-0.5.15lorg3.95.git522/luaext/lposix.c	2014-05-16 15:53:51.000000000 +0900
@@ -49,6 +49,15 @@
 
 typedef int (*Selector)(lua_State *L, int i, const void *data);
 
+/* implemented as luaL_typerror until lua 5.1, dropped in 5.2
+ * (C) 1994-2012 Lua.org, PUC-Rio. MIT license
+ */
+static int typerror (lua_State *L, int narg, const char *tname) {
+	const char *msg = lua_pushfstring(L, "%s expected, got %s",
+                                         tname, luaL_typename(L, narg));
+	return luaL_argerror(L, narg, msg);
+}
+
 static int doselection(lua_State *L, int i, const char *const S[], Selector F, const void *data)
 {
 	if (lua_isnone(L, i))
@@ -135,7 +144,7 @@
 		return (p==NULL) ? -1 : p->pw_uid;
 	}
 	else
-		return luaL_typerror(L, i, "string or number");
+		return typerror(L, i, "string or number");
 }
 
 static gid_t mygetgid(lua_State *L, int i)
@@ -150,7 +159,7 @@
 		return (g==NULL) ? -1 : g->gr_gid;
 	}
 	else
-		return luaL_typerror(L, i, "string or number");
+		return typerror(L, i, "string or number");
 }
 
 
@@ -554,7 +563,7 @@
 	else if (lua_isstring(L, 1))
 		p = getpwnam(lua_tostring(L, 1));
 	else
-		luaL_typerror(L, 1, "string or number");
+		typerror(L, 1, "string or number");
 	if (p==NULL)
 		lua_pushnil(L);
 	else
@@ -571,7 +580,7 @@
 	else if (lua_isstring(L, 1))
 		g = getgrnam(lua_tostring(L, 1));
 	else
-		luaL_typerror(L, 1, "string or number");
+		typerror(L, 1, "string or number");
 	if (g==NULL)
 		lua_pushnil(L);
 	else
@@ -690,10 +699,10 @@
 	luaL_buffinit(L, &b);
 	for (s=luaL_optstring(L, 1, "%s %n %r %v %m"); *s; s++)
 		if (*s!='%')
-			luaL_putchar(&b, *s);
+			luaL_addchar(&b, *s);
 		else switch (*++s)
 		{
-			case '%': luaL_putchar(&b, *s); break;
+			case '%': luaL_addchar(&b, *s); break;
 			case 'm': luaL_addstring(&b,u.machine); break;
 			case 'n': luaL_addstring(&b,u.nodename); break;
 			case 'r': luaL_addstring(&b,u.release); break;
@@ -792,7 +801,7 @@
 }
 
 
-static const luaL_reg R[] =
+static const luaL_Reg R[] =
 {
 	{"access",		Paccess},
 	{"chdir",		Pchdir},
--- apt-0.5.15lorg3.95.git522/luaext/lrexlib.c.lua-52	2011-04-07 22:18:59.000000000 +0900
+++ apt-0.5.15lorg3.95.git522/luaext/lrexlib.c	2014-05-16 15:53:51.000000000 +0900
@@ -161,7 +161,7 @@
   return 0;
 }
 
-static const luaL_reg posixmeta[] = {
+static const luaL_Reg posixmeta[] = {
   {"match",   posix_match},
   {"gmatch",  posix_gmatch},
   {"__gc",    posix_gc},
@@ -285,7 +285,7 @@
   return 0;
 }
 
-static const luaL_reg pcremeta[] = {
+static const luaL_Reg pcremeta[] = {
   {"match",  pcre_match},
   {"gmatch", pcre_gmatch},
   {"__gc",   pcre_gc},
@@ -297,7 +297,7 @@
 
 /* Open the library */
 
-static const luaL_reg rexlib[] = {
+static const luaL_Reg rexlib[] = {
 #ifdef WITH_POSIX
   {"newPOSIX", posix_comp},
 #endif