forked from aniani/vim
runtime(zip): Use delete() for deleting directory
This is safer because we don't invoke the shell. closes: #15335 Signed-off-by: Damien <141588647+xrandomname@users.noreply.github.com> Signed-off-by: Christian Brabandt <cb@256bit.org>
This commit is contained in:
parent
581d4a7b35
commit
2cad941dc0
@ -1,12 +1,13 @@
|
|||||||
" zip.vim: Handles browsing zipfiles
|
" zip.vim: Handles browsing zipfiles
|
||||||
" AUTOLOAD PORTION
|
" AUTOLOAD PORTION
|
||||||
" Date: Jul 23, 2024
|
" Date: Jul 24, 2024
|
||||||
" Version: 33
|
" Version: 33
|
||||||
" Maintainer: This runtime file is looking for a new maintainer.
|
" Maintainer: This runtime file is looking for a new maintainer.
|
||||||
" Former Maintainer: Charles E Campbell
|
" Former Maintainer: Charles E Campbell
|
||||||
" Last Change:
|
" Last Change:
|
||||||
" 2024 Jun 16 by Vim Project: handle whitespace on Windows properly (#14998)
|
" 2024 Jun 16 by Vim Project: handle whitespace on Windows properly (#14998)
|
||||||
" 2024 Jul 23 by Vim Project: fix 'x' command
|
" 2024 Jul 23 by Vim Project: fix 'x' command
|
||||||
|
" 2024 Jul 24 by Vim Project: use delete() function
|
||||||
" License: Vim License (see vim's :help license)
|
" License: Vim License (see vim's :help license)
|
||||||
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
" Copyright: Copyright (C) 2005-2019 Charles E. Campbell {{{1
|
||||||
" Permission is hereby granted to use and distribute this code,
|
" Permission is hereby granted to use and distribute this code,
|
||||||
@ -299,7 +300,7 @@ fun! zip#Write(fname)
|
|||||||
|
|
||||||
" place temporary files under .../_ZIPVIM_/
|
" place temporary files under .../_ZIPVIM_/
|
||||||
if isdirectory("_ZIPVIM_")
|
if isdirectory("_ZIPVIM_")
|
||||||
call s:Rmdir("_ZIPVIM_")
|
call delete("_ZIPVIM_", "rf")
|
||||||
endif
|
endif
|
||||||
call mkdir("_ZIPVIM_")
|
call mkdir("_ZIPVIM_")
|
||||||
cd _ZIPVIM_
|
cd _ZIPVIM_
|
||||||
@ -362,9 +363,9 @@ fun! zip#Write(fname)
|
|||||||
|
|
||||||
" cleanup and restore current directory
|
" cleanup and restore current directory
|
||||||
cd ..
|
cd ..
|
||||||
call s:Rmdir("_ZIPVIM_")
|
call delete("_ZIPVIM_", "rf")
|
||||||
call s:ChgDir(curdir,s:WARNING,"(zip#Write) unable to return to ".curdir."!")
|
call s:ChgDir(curdir,s:WARNING,"(zip#Write) unable to return to ".curdir."!")
|
||||||
call s:Rmdir(tmpdir)
|
call delete(tmpdir, "rf")
|
||||||
setlocal nomod
|
setlocal nomod
|
||||||
|
|
||||||
let &report= repkeep
|
let &report= repkeep
|
||||||
@ -456,18 +457,6 @@ fun! s:ChgDir(newdir,errlvl,errmsg)
|
|||||||
return 0
|
return 0
|
||||||
endfun
|
endfun
|
||||||
|
|
||||||
" ---------------------------------------------------------------------
|
|
||||||
" s:Rmdir: {{{2
|
|
||||||
fun! s:Rmdir(fname)
|
|
||||||
" call Dfunc("Rmdir(fname<".a:fname.">)")
|
|
||||||
if (has("win32") || has("win95") || has("win64") || has("win16")) && &shell !~? 'sh$'
|
|
||||||
call system("rmdir /S/Q ".s:Escape(a:fname,0))
|
|
||||||
else
|
|
||||||
call system("/bin/rm -rf ".s:Escape(a:fname,0))
|
|
||||||
endif
|
|
||||||
" call Dret("Rmdir")
|
|
||||||
endfun
|
|
||||||
|
|
||||||
" ------------------------------------------------------------------------
|
" ------------------------------------------------------------------------
|
||||||
" Modelines And Restoration: {{{1
|
" Modelines And Restoration: {{{1
|
||||||
let &cpo= s:keepcpo
|
let &cpo= s:keepcpo
|
||||||
|
Loading…
x
Reference in New Issue
Block a user