[vlc-commits] VLSub: Use vlc.io instead of lua's io module
Hugo Beauzée-Luyssen
git at videolan.org
Thu Apr 12 13:01:13 CEST 2018
vlc/vlc-3.0 | branch: master | Hugo Beauzée-Luyssen <hugo at beauzee.fr> | Wed Apr 4 16:05:04 2018 +0200| [681a2f60e21ca5617ed03d543a57a938ce16c5fe] | committer: Hugo Beauzée-Luyssen
VLSub: Use vlc.io instead of lua's io module
Otherwise any IO operation on path with contain any non-ascii character
will fail on windows.
(cherry picked from commit 23a7f3cab7aa900773a2d9319c033253ae0254e0)
(cherry picked from commit e15d9d230fbee067ba480a314c9dd8a632422bc9)
Signed-off-by: Hugo Beauzée-Luyssen <hugo at beauzee.fr>
> http://git.videolan.org/gitweb.cgi/vlc/vlc-3.0.git/?a=commit;h=681a2f60e21ca5617ed03d543a57a938ce16c5fe
---
share/lua/extensions/VLSub.lua | 25 +++++++++----------------
1 file changed, 9 insertions(+), 16 deletions(-)
diff --git a/share/lua/extensions/VLSub.lua b/share/lua/extensions/VLSub.lua
index 8f15b90f26..49a9c60f92 100644
--- a/share/lua/extensions/VLSub.lua
+++ b/share/lua/extensions/VLSub.lua
@@ -762,11 +762,10 @@ end
function load_config()
-- Overwrite default conf with loaded conf
- local tmpFile = io.open(openSub.conf.filePath, "rb")
+ local tmpFile = vlc.io.open(openSub.conf.filePath, "rb")
if not tmpFile then return false end
local resp = tmpFile:read("*all")
tmpFile:flush()
- tmpFile:close()
local option = parse_xml(resp)
for key, value in pairs(option) do
@@ -794,10 +793,9 @@ end
function load_transl(path)
-- Overwrite default conf with loaded conf
- local tmpFile = assert(io.open(path, "rb"))
+ local tmpFile = assert(vlc.io.open(path, "rb"))
local resp = tmpFile:read("*all")
tmpFile:flush()
- tmpFile:close()
openSub.option.translation = nil
openSub.option.translation = parse_xml(resp)
@@ -894,11 +892,10 @@ function save_config()
if file_touch(openSub.conf.filePath) then
local tmpFile = assert(
- io.open(openSub.conf.filePath, "wb"))
+ vlc.io.open(openSub.conf.filePath, "wb"))
local resp = dump_xml(openSub.option)
tmpFile:write(resp)
tmpFile:flush()
- tmpFile:close()
tmpFile = nil
else
return false
@@ -1388,7 +1385,7 @@ openSub = {
file = nil
else
vlc.msg.dbg("[VLSub] Read hash data from file")
- local file = io.open( openSub.file.path, "rb")
+ local file = vlc.io.open(openSub.file.path, "rb")
if not file then
vlc.msg.dbg("[VLSub] No stream")
return false
@@ -1616,7 +1613,7 @@ function download_subtitles()
local stream = vlc.stream(subtitleMrl)
local data = ""
- local subfile = io.open(target, "wb")
+ local subfile = vlc.io.open(target, "wb")
while data do
subfile:write(data)
@@ -1657,11 +1654,10 @@ function dump_zip(url, dir, subfileName)
if not file_touch(tmpFileName) then
return false
end
- local tmpFile = assert(io.open(tmpFileName, "wb"))
+ local tmpFile = assert(vlc.io.open(tmpFileName, "wb"))
tmpFile:write(resp)
tmpFile:flush()
- tmpFile:close()
tmpFile = nil
collectgarbage()
@@ -2014,9 +2010,8 @@ function file_touch(name) -- test write ability
if not name or trim(name) == ""
then return false end
- local f=io.open(name ,"w")
+ local f=vlc.io.open(name, "w")
if f~=nil then
- io.close(f)
return true
else
return false
@@ -2026,9 +2021,8 @@ end
function file_exist(name) -- test readability
if not name or trim(name) == ""
then return false end
- local f=io.open(name ,"r")
+ local f=vlc.io.open(name, "r")
if f~=nil then
- io.close(f)
return true
else
return false
@@ -2040,11 +2034,10 @@ function is_dir(path)
then return false end
-- Remove slash at the end or it won't work on Windows
path = string.gsub(path, "^(.-)[\\/]?$", "%1")
- local f, _, code = io.open(path, "rb")
+ local f, _, code = vlc.io.open(path, "rb")
if f then
_, _, code = f:read("*a")
- f:close()
if code == 21 then
return true
end
More information about the vlc-commits
mailing list