[vlc-devel] [PATCH 1/3] Changes to support lua 5.2

Kelly Anderson kelly at silka.with-linux.com
Sun Jan 1 00:28:32 CET 2012


---
 modules/lua/intf.c                      |    4 ----
 modules/lua/libs/acl.c                  |    3 ---
 modules/lua/libs/configuration.c        |    3 ---
 modules/lua/libs/dialog.c               |    3 ---
 modules/lua/libs/equalizer.c            |    3 ---
 modules/lua/libs/gettext.c              |    4 ----
 modules/lua/libs/httpd.c                |    4 ----
 modules/lua/libs/input.c                |    4 +---
 modules/lua/libs/input.h                |    2 ++
 modules/lua/libs/messages.c             |    4 ----
 modules/lua/libs/misc.c                 |    4 ----
 modules/lua/libs/net.c                  |    3 ---
 modules/lua/libs/objects.c              |    3 ---
 modules/lua/libs/osd.c                  |    3 ---
 modules/lua/libs/playlist.c             |    4 +---
 modules/lua/libs/sd.c                   |    4 ----
 modules/lua/libs/stream.c               |    3 ---
 modules/lua/libs/strings.c              |    3 ---
 modules/lua/libs/variables.c            |    4 ----
 modules/lua/libs/video.c                |    3 ---
 modules/lua/libs/vlm.c                  |    3 ---
 modules/lua/libs/volume.c               |    4 ----
 modules/lua/libs/xml.c                  |    3 ---
 modules/lua/vlc.c                       |    4 ----
 modules/lua/vlc.h                       |    6 ++++++
 share/lua/extensions/imdb.lua           |    2 +-
 share/lua/intf/cli.lua                  |    2 +-
 share/lua/intf/modules/httprequests.lua |    4 ++--
 share/lua/playlist/appletrailers.lua    |    6 +++---
 share/lua/playlist/extreme.lua          |    2 +-
 share/lua/playlist/katsomo.lua          |    2 +-
 share/lua/playlist/mpora.lua            |    2 +-
 share/lua/playlist/pinkbike.lua         |    4 ++--
 33 files changed, 22 insertions(+), 90 deletions(-)

diff --git a/modules/lua/intf.c b/modules/lua/intf.c
index 3b01727..61fe362 100644
--- a/modules/lua/intf.c
+++ b/modules/lua/intf.c
@@ -37,10 +37,6 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "vlc.h"
 #include "libs.h"
 
diff --git a/modules/lua/libs/acl.c b/modules/lua/libs/acl.c
index 4deb66e..693137d 100644
--- a/modules/lua/libs/acl.c
+++ b/modules/lua/libs/acl.c
@@ -35,9 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_acl.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/configuration.c b/modules/lua/libs/configuration.c
index 7a4785f..7b5f732 100644
--- a/modules/lua/libs/configuration.c
+++ b/modules/lua/libs/configuration.c
@@ -34,9 +34,6 @@
 
 #include <vlc_common.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/dialog.c b/modules/lua/libs/dialog.c
index 3ca67b2..55468f3 100644
--- a/modules/lua/libs/dialog.c
+++ b/modules/lua/libs/dialog.c
@@ -35,9 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_extensions.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/equalizer.c b/modules/lua/libs/equalizer.c
index 75b2334..e698c6f 100644
--- a/modules/lua/libs/equalizer.c
+++ b/modules/lua/libs/equalizer.c
@@ -38,9 +38,6 @@
 #include <vlc_input.h>
 #include <vlc_charset.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "input.h"
 #include "../libs.h"
 #include "../vlc.h"
diff --git a/modules/lua/libs/gettext.c b/modules/lua/libs/gettext.c
index b461e73..2781d35 100644
--- a/modules/lua/libs/gettext.c
+++ b/modules/lua/libs/gettext.c
@@ -32,10 +32,6 @@
 # include "config.h"
 #endif
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/httpd.c b/modules/lua/libs/httpd.c
index b4520d9..85a38cc 100644
--- a/modules/lua/libs/httpd.c
+++ b/modules/lua/libs/httpd.c
@@ -35,10 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_httpd.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/input.c b/modules/lua/libs/input.c
index 60211fd..7b413e2 100644
--- a/modules/lua/libs/input.c
+++ b/modules/lua/libs/input.c
@@ -37,13 +37,11 @@
 
 #include <vlc_playlist.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
 #include <assert.h>
 
+#include "../vlc.h"
 #include "input.h"
 #include "playlist.h"
-#include "../vlc.h"
 #include "../libs.h"
 #include "../extension.h"
 
diff --git a/modules/lua/libs/input.h b/modules/lua/libs/input.h
index dbe76df..903134a 100644
--- a/modules/lua/libs/input.h
+++ b/modules/lua/libs/input.h
@@ -24,6 +24,8 @@
 #ifndef VLC_LUA_INPUT_H
 #define VLC_LUA_INPUT_H
 
+#include "../vlc.h"
+
 input_thread_t * vlclua_get_input_internal( lua_State * );
 
 #endif
diff --git a/modules/lua/libs/messages.c b/modules/lua/libs/messages.c
index 9c40e53..589d162 100644
--- a/modules/lua/libs/messages.c
+++ b/modules/lua/libs/messages.c
@@ -38,10 +38,6 @@
 #include <vlc_meta.h>
 #include <vlc_aout.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/misc.c b/modules/lua/libs/misc.c
index f98d28a..5b793bd 100644
--- a/modules/lua/libs/misc.c
+++ b/modules/lua/libs/misc.c
@@ -41,10 +41,6 @@
 #include <vlc_interface.h>
 #include <vlc_keys.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/net.c b/modules/lua/libs/net.c
index 1c7cd12..0e832cc 100644
--- a/modules/lua/libs/net.c
+++ b/modules/lua/libs/net.c
@@ -41,9 +41,6 @@
 #include <vlc_url.h>
 #include <vlc_fs.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #ifdef HAVE_POLL
 #include <poll.h>       /* poll structures and defines */
 #endif
diff --git a/modules/lua/libs/objects.c b/modules/lua/libs/objects.c
index c3543d6..bcdb43e 100644
--- a/modules/lua/libs/objects.c
+++ b/modules/lua/libs/objects.c
@@ -35,9 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_vout.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "objects.h"
diff --git a/modules/lua/libs/osd.c b/modules/lua/libs/osd.c
index fb36ed5..e06646b 100644
--- a/modules/lua/libs/osd.c
+++ b/modules/lua/libs/osd.c
@@ -35,9 +35,6 @@
 #include <vlc_vout.h>
 #include <vlc_osd.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "input.h"
diff --git a/modules/lua/libs/playlist.c b/modules/lua/libs/playlist.c
index ae610f3..4bd8024 100644
--- a/modules/lua/libs/playlist.c
+++ b/modules/lua/libs/playlist.c
@@ -37,9 +37,6 @@
 #include <vlc_interface.h>
 #include <vlc_playlist.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "playlist.h"
@@ -381,6 +378,7 @@ static const luaL_Reg vlclua_playlist_reg[] = {
     { "loop", vlclua_playlist_loop },
     { "random", vlclua_playlist_random },
     { "goto", vlclua_playlist_goto },
+    { "goto_", vlclua_playlist_goto },
     { "add", vlclua_playlist_add },
     { "enqueue", vlclua_playlist_enqueue },
     { "get", vlclua_playlist_get },
diff --git a/modules/lua/libs/sd.c b/modules/lua/libs/sd.c
index 7ca9476..d88cab2 100644
--- a/modules/lua/libs/sd.c
+++ b/modules/lua/libs/sd.c
@@ -38,10 +38,6 @@
 #include <vlc_playlist.h>
 #include <vlc_charset.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "playlist.h"
diff --git a/modules/lua/libs/stream.c b/modules/lua/libs/stream.c
index ef7187c..6a366f1 100644
--- a/modules/lua/libs/stream.c
+++ b/modules/lua/libs/stream.c
@@ -38,9 +38,6 @@
 #include <vlc_meta.h>
 #include <vlc_aout.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/strings.c b/modules/lua/libs/strings.c
index ab8e435..88c5f0e 100644
--- a/modules/lua/libs/strings.c
+++ b/modules/lua/libs/strings.c
@@ -39,9 +39,6 @@
 #include <vlc_aout.h>
 #include <vlc_charset.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/variables.c b/modules/lua/libs/variables.c
index f3becae..aad5ae1 100644
--- a/modules/lua/libs/variables.c
+++ b/modules/lua/libs/variables.c
@@ -34,10 +34,6 @@
 
 #include <vlc_common.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "variables.h"
diff --git a/modules/lua/libs/video.c b/modules/lua/libs/video.c
index eb914b5..258e0d2 100644
--- a/modules/lua/libs/video.c
+++ b/modules/lua/libs/video.c
@@ -34,9 +34,6 @@
 
 #include <vlc_vout.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "input.h"
diff --git a/modules/lua/libs/vlm.c b/modules/lua/libs/vlm.c
index d48755c..7b2b708 100644
--- a/modules/lua/libs/vlm.c
+++ b/modules/lua/libs/vlm.c
@@ -35,9 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_vlm.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/libs/volume.c b/modules/lua/libs/volume.c
index 3aab542..bae1534 100644
--- a/modules/lua/libs/volume.c
+++ b/modules/lua/libs/volume.c
@@ -38,10 +38,6 @@
 #include <vlc_meta.h>
 #include <vlc_aout_intf.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "../vlc.h"
 #include "../libs.h"
 #include "playlist.h"
diff --git a/modules/lua/libs/xml.c b/modules/lua/libs/xml.c
index f8b0afe..80f53fb 100644
--- a/modules/lua/libs/xml.c
+++ b/modules/lua/libs/xml.c
@@ -35,9 +35,6 @@
 #include <vlc_common.h>
 #include <vlc_xml.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-
 #include "../vlc.h"
 #include "../libs.h"
 
diff --git a/modules/lua/vlc.c b/modules/lua/vlc.c
index 5433eb8..a0132cf 100644
--- a/modules/lua/vlc.c
+++ b/modules/lua/vlc.c
@@ -45,10 +45,6 @@
 #include <vlc_stream.h>
 #include <sys/stat.h>
 
-#include <lua.h>        /* Low level lua C API */
-#include <lauxlib.h>    /* Higher level C API */
-#include <lualib.h>     /* Lua libs */
-
 #include "vlc.h"
 
 /*****************************************************************************
diff --git a/modules/lua/vlc.h b/modules/lua/vlc.h
index 5d87914..2b8fbff 100644
--- a/modules/lua/vlc.h
+++ b/modules/lua/vlc.h
@@ -36,9 +36,15 @@
 #include <vlc_strings.h>
 #include <vlc_stream.h>
 
+#define LUA_COMPAT_MODULE
 #include <lua.h>        /* Low level lua C API */
 #include <lauxlib.h>    /* Higher level C API */
 #include <lualib.h>     /* Lua libs */
+#if LUA_VERSION_NUM >= 502
+#define lua_equal(L,idx1,idx2)		lua_compare(L,(idx1),(idx2),LUA_OPEQ)
+#define lua_objlen(L,idx)			lua_rawlen(L,idx)
+#define lua_strlen(L,idx)			lua_rawlen(L,idx)
+#endif
 
 /*****************************************************************************
  * Module entry points
diff --git a/share/lua/extensions/imdb.lua b/share/lua/extensions/imdb.lua
index 829948d..194a219 100644
--- a/share/lua/extensions/imdb.lua
+++ b/share/lua/extensions/imdb.lua
@@ -237,7 +237,7 @@ function parse_resultspage(data)
                 if not link then break end -- this would not be normal behavior...
                 _, pos, thistitle = string.find(table, "<a href=\"" .. link .. "\"[^>]*>([^<]+)</a>", pos)
                 if not thistitle then break end -- this would not be normal behavior...
-                local _, _, year = string.find(table, "\((%d+)\)", pos)
+                local _, _, year = string.find(table, "%((%d+)%)", pos)
                 -- Add this title to the list
                 count = count + 1
                 local _, _, imdbID = string.find(link, "/([^/]+)/$")
diff --git a/share/lua/intf/cli.lua b/share/lua/intf/cli.lua
index 265b938..8a13194 100644
--- a/share/lua/intf/cli.lua
+++ b/share/lua/intf/cli.lua
@@ -535,7 +535,7 @@ commands_ordered = {
     { "stop"; { func = skip2(vlc.playlist.stop); help = "stop stream" } };
     { "next"; { func = skip2(vlc.playlist.next); help = "next playlist item" } };
     { "prev"; { func = skip2(vlc.playlist.prev); help = "previous playlist item" } };
-    { "goto"; { func = skip2(vlc.playlist.goto); help = "goto item at index" } };
+    { "goto"; { func = skip2(vlc.playlist.goto_); help = "goto item at index" } };
     { "repeat"; { func = skip2(vlc.playlist.repeat_); args = "[on|off]"; help = "toggle playlist repeat" } };
     { "loop"; { func = skip2(vlc.playlist.loop); args = "[on|off]"; help = "toggle playlist loop" } };
     { "random"; { func = skip2(vlc.playlist.random); args = "[on|off]"; help = "toggle playlist random" } };
diff --git a/share/lua/intf/modules/httprequests.lua b/share/lua/intf/modules/httprequests.lua
index 407ab3e..b90ea5a 100644
--- a/share/lua/intf/modules/httprequests.lua
+++ b/share/lua/intf/modules/httprequests.lua
@@ -93,14 +93,14 @@ processcommands = function ()
       if id == -1 then
         vlc.playlist.play()
       else
-        vlc.playlist.goto(id)
+        vlc.playlist.goto_(id)
       end
     elseif command == "pl_pause" then
       if vlc.playlist.status() == "stopped" then
         if id == -1 then
           vlc.playlist.play()
         else
-          vlc.playlist.goto(id)
+          vlc.playlist.goto_(id)
         end
       else
         vlc.playlist.pause()
diff --git a/share/lua/playlist/appletrailers.lua b/share/lua/playlist/appletrailers.lua
index 8bd4bea..4d0f5e7 100644
--- a/share/lua/playlist/appletrailers.lua
+++ b/share/lua/playlist/appletrailers.lua
@@ -67,7 +67,7 @@ function parse()
             description = find( line, "h%d.->(.-)</h%d") .. ' '
         end
         if string.match( line, 'img src=') then
-            for img in string.gmatch(line, '<img src="(http://.*\.jpg)" ') do
+            for img in string.gmatch(line, '<img src="(http://.*%.jpg)" ') do
                 art_url = img
             end
             for i,value in pairs(playlist) do
@@ -76,8 +76,8 @@ function parse()
                 else break end
             end
         end
-        if string.match( line, "class=\"hd\".-\.mov") then
-            for urlline,resolution in string.gmatch(line, "class=\"hd\".-href=\"(.-.mov)\".-(%d+.-p)") do
+        if string.match( line, 'class="hd".-%.mov') then
+            for urlline,resolution in string.gmatch(line, 'class="hd".-href="(.-%.mov)".-(%d+.-p)') do
                 urlline = string.gsub( urlline, "_"..resolution, "_h"..resolution )
                 table.insert( playlist, { path = urlline,
                                           name = description ..  '(' .. resolution .. ')',
diff --git a/share/lua/playlist/extreme.lua b/share/lua/playlist/extreme.lua
index 6fd7251..a71564b 100644
--- a/share/lua/playlist/extreme.lua
+++ b/share/lua/playlist/extreme.lua
@@ -41,7 +41,7 @@ end
 
 -- Parse function.
 function parse()
-    if (string.match( vlc.path, "extreme\.com/." ) or string.match( vlc.path, "freecaster\.tv/." )) and not string.match( vlc.path, "player.extreme.com/info/") then
+    if (string.match( vlc.path, "extreme.com/." ) or string.match( vlc.path, "freecaster.tv/." )) and not string.match( vlc.path, "player.extreme.com/info/") then
         while true do
             line = vlc.readline()
             if not line then break end
diff --git a/share/lua/playlist/katsomo.lua b/share/lua/playlist/katsomo.lua
index bf461c7..85c3c41 100644
--- a/share/lua/playlist/katsomo.lua
+++ b/share/lua/playlist/katsomo.lua
@@ -57,7 +57,7 @@ function parse()
         then
             arturl = "http://www.katsomo.fi"..find( line, " src=\"(.-)\" alt=" )
         end
-        for treeid,name in string.gmatch( line, "/\?treeId=(%d+)\">([^<]+)</a") do
+        for treeid,name in string.gmatch( line, '/?treeId=(%d+)">([^<]+)</a') do
             name = vlc.strings.resolve_xml_special_chars( name )
             name = vlc.strings.from_charset( "ISO_8859-1", name )
             path = "http://www.katsomo.fi/?treeId="..treeid
diff --git a/share/lua/playlist/mpora.lua b/share/lua/playlist/mpora.lua
index cfee5d0..81ffbcd 100644
--- a/share/lua/playlist/mpora.lua
+++ b/share/lua/playlist/mpora.lua
@@ -40,7 +40,7 @@ function parse()
             _,_,arturl = string.find( line, "image_src\" href=\"(.*)\" />" )
         end
         if string.match( line, "video_src" ) then
-            _,_,video = string.find( line, "href=\"http://video\.mpora\.com/ep/(.*).swf\" />" )
+            _,_,video = string.find( line, 'href="http://video.mpora.com/ep/(.*)%.swf" />' )
         end
 
     end
diff --git a/share/lua/playlist/pinkbike.lua b/share/lua/playlist/pinkbike.lua
index 06105d7..f6787c8 100644
--- a/share/lua/playlist/pinkbike.lua
+++ b/share/lua/playlist/pinkbike.lua
@@ -45,10 +45,10 @@ function parse()
 			end
 			-- Try to find server which has our video
 			if string.match( line, "<link rel=\"videothumbnail\" href=\"http://(.*)/vt/svt-") then
-				_,_,server = string.find (line, "<link rel=\"videothumbnail\"\ href=\"http://(.*)/vt/svt-" )
+				_,_,server = string.find (line, '<link rel="videothumbnail" href="http://(.*)/vt/svt-' )
 			end
 			if string.match( line, "<link rel=\"videothumbnail\" href=\"(.*)\" type=\"image/jpeg\"") then
-				_,_,arturl = string.find (line, "<link rel=\"videothumbnail\" href=\"(.*)\"\ type=\"image/jpeg\"")
+				_,_,arturl = string.find (line, '<link rel="videothumbnail" href="(.*)" type="image/jpeg"')
 			end
 		end
 
-- 
1.7.8.2




More information about the vlc-devel mailing list