vlc | branch: master | Aakash Singh <[email protected]> | Tue Mar 26 
18:34:57 2019 +0530| [583dded749fb3078a8cad495efcd5f4bcef0a875] | committer: 
Thomas Guillem

vlsub: fixes creation of cache directory if it doesn't exist

When VLSub asks for the cache directory and it doesn't exist an error is
thrown. This patch makes sure that the directory is created before it is
accessed for writing.

Fixes #21595
Signed-off-by: Thomas Guillem <[email protected]>

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=583dded749fb3078a8cad495efcd5f4bcef0a875
---

 share/lua/extensions/VLSub.lua | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/share/lua/extensions/VLSub.lua b/share/lua/extensions/VLSub.lua
index ee9e5f84a9..00167a9960 100644
--- a/share/lua/extensions/VLSub.lua
+++ b/share/lua/extensions/VLSub.lua
@@ -1488,6 +1488,22 @@ function download_subtitles()
 
   subfileName = subfileName.."."..item.SubFormat
   local tmp_dir = vlc.config.cachedir()
+  -- create the cache directory if it doesn't already exist
+  local separator = ""
+  local current_dir = ""
+  if package.config:sub(1, 1):match("/") then
+    -- unix based systems
+    separator = "/"
+    current_dir = "/"
+  else
+    -- windows systems
+    separator = "\\"
+  end
+  for dir in tmp_dir:gmatch("[^"..separator.."]+") do
+    current_dir = current_dir..dir..separator
+    local vars = vlc.io.mkdir(current_dir, "0700")
+  end
+
   local file_target_access = true
 
   local tmpFileName = dump_zip(

_______________________________________________
vlc-commits mailing list
[email protected]
https://mailman.videolan.org/listinfo/vlc-commits

Reply via email to