summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancois Perrad <francois.perrad@gadz.org>2010-08-05 22:58:10 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2010-08-24 15:04:57 +0200
commit66ab67661607bda03f5f2e31da9239048becbfba (patch)
tree4a05d86df41f2e44bcdd7b9e8ea789bfaed1d759
parent0b876d39776fdec69762b988216e5ed64dbe6ba8 (diff)
Add new upstream Lua patches and rename all patches for consistency
Several new upstream patches against the latest version of Lua have appeared on http://www.lua.org/bugs.html. This commit adds them to Buildroot, and also renames the other patches to have a coherent patch naming: lua-bugX, where X is the identifier of the bug as visible on http://www.lua.org/bugs.html. Note that bug 1 and 2 are not associated with patches, which explains why the first patch is labeled lua-bug3. Fixes bug #2365. Signed-off-by: Francois Perrad <francois.perrad@gadz.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-rw-r--r--package/lua/lua-bug3-boolean_expression.patch (renamed from package/lua/lua-boolean_expression.patch)0
-rw-r--r--package/lua/lua-bug4-table.patch (renamed from package/lua/lua-table.patch)0
-rw-r--r--package/lua/lua-bug5-debug_getfenv.patch (renamed from package/lua/lua-debug_getfenv.patch)0
-rw-r--r--package/lua/lua-bug6-gc_performance.patch (renamed from package/lua/lua-gc_performance.patch)0
-rw-r--r--package/lua/lua-bug7-string_format.patch20
-rw-r--r--package/lua/lua-bug8-io_read.patch14
6 files changed, 34 insertions, 0 deletions
diff --git a/package/lua/lua-boolean_expression.patch b/package/lua/lua-bug3-boolean_expression.patch
index f04eb8507..f04eb8507 100644
--- a/package/lua/lua-boolean_expression.patch
+++ b/package/lua/lua-bug3-boolean_expression.patch
diff --git a/package/lua/lua-table.patch b/package/lua/lua-bug4-table.patch
index 9ffc1bb28..9ffc1bb28 100644
--- a/package/lua/lua-table.patch
+++ b/package/lua/lua-bug4-table.patch
diff --git a/package/lua/lua-debug_getfenv.patch b/package/lua/lua-bug5-debug_getfenv.patch
index fce4d47db..fce4d47db 100644
--- a/package/lua/lua-debug_getfenv.patch
+++ b/package/lua/lua-bug5-debug_getfenv.patch
diff --git a/package/lua/lua-gc_performance.patch b/package/lua/lua-bug6-gc_performance.patch
index 3c78525b0..3c78525b0 100644
--- a/package/lua/lua-gc_performance.patch
+++ b/package/lua/lua-bug6-gc_performance.patch
diff --git a/package/lua/lua-bug7-string_format.patch b/package/lua/lua-bug7-string_format.patch
new file mode 100644
index 000000000..68f31977f
--- /dev/null
+++ b/package/lua/lua-bug7-string_format.patch
@@ -0,0 +1,20 @@
+--- lua-5.1.4.orig/src/lstrlib.c 2008/07/11 17:27:21 1.132.1.4
++++ lua-5.1.4/src/lstrlib.c 2010/05/14 15:12:53
+@@ -754,6 +754,7 @@
+
+
+ static int str_format (lua_State *L) {
++ int top = lua_gettop(L);
+ int arg = 1;
+ size_t sfl;
+ const char *strfrmt = luaL_checklstring(L, arg, &sfl);
+@@ -768,7 +769,8 @@
+ else { /* format item */
+ char form[MAX_FORMAT]; /* to store the format (`%...') */
+ char buff[MAX_ITEM]; /* to store the formatted item */
+- arg++;
++ if (++arg > top)
++ luaL_argerror(L, arg, "no value");
+ strfrmt = scanformat(L, strfrmt, form);
+ switch (*strfrmt++) {
+ case 'c': {
diff --git a/package/lua/lua-bug8-io_read.patch b/package/lua/lua-bug8-io_read.patch
new file mode 100644
index 000000000..fb56bcf31
--- /dev/null
+++ b/package/lua/lua-bug8-io_read.patch
@@ -0,0 +1,14 @@
+--- lua-5.1.4.orig/src/liolib.c 2008/01/18 17:47:43 2.73.1.3
++++ lua-5.1.4.orig/src/liolib.c 2010/05/14 15:29:29
+@@ -276,7 +276,10 @@
+ lua_pushnumber(L, d);
+ return 1;
+ }
+- else return 0; /* read fails */
++ else {
++ lua_pushnil(L); /* "result" to be removed */
++ return 0; /* read fails */
++ }
+ }
+
+