From 9ea5e401e8c9ca71dfcf6298e8d7c8ec0f529fa2 Mon Sep 17 00:00:00 2001 From: Hisham Muhammad Date: Wed, 16 Feb 2022 18:19:31 -0300 Subject: win32.tools: replicate rmdir -p --- src/luarocks/fs/win32/tools.lua | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/luarocks/fs/win32/tools.lua b/src/luarocks/fs/win32/tools.lua index 80f07866..b8892b83 100644 --- a/src/luarocks/fs/win32/tools.lua +++ b/src/luarocks/fs/win32/tools.lua @@ -58,7 +58,15 @@ end -- @param directory string: pathname of directory to remove. function tools.remove_dir_tree_if_empty(directory) assert(directory) - fs.execute_quiet(vars.RMDIR, directory) + while true do + fs.execute_quiet(vars.RMDIR, directory) + local parent = dir.dir_name(directory) + if parent ~= directory then + directory = parent + else + break + end + end end --- Copy a file. -- cgit v1.2.3-55-g6feb