diff options
| -rw-r--r-- | src/luarocks/fs/win32/tools.lua | 10 |
1 files changed, 9 insertions, 1 deletions
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 | |||
| 58 | -- @param directory string: pathname of directory to remove. | 58 | -- @param directory string: pathname of directory to remove. |
| 59 | function tools.remove_dir_tree_if_empty(directory) | 59 | function tools.remove_dir_tree_if_empty(directory) |
| 60 | assert(directory) | 60 | assert(directory) |
| 61 | fs.execute_quiet(vars.RMDIR, directory) | 61 | while true do |
| 62 | fs.execute_quiet(vars.RMDIR, directory) | ||
| 63 | local parent = dir.dir_name(directory) | ||
| 64 | if parent ~= directory then | ||
| 65 | directory = parent | ||
| 66 | else | ||
| 67 | break | ||
| 68 | end | ||
| 69 | end | ||
| 62 | end | 70 | end |
| 63 | 71 | ||
| 64 | --- Copy a file. | 72 | --- Copy a file. |
