diff options
author | Colin Smith <colin@pfsense.org> | 2005-06-12 18:52:22 +0000 |
---|---|---|
committer | Colin Smith <colin@pfsense.org> | 2005-06-12 18:52:22 +0000 |
commit | ed919b11cc702a2b071cb6877cbff87171a37449 (patch) | |
tree | e154df7151c127747996e22955dc9560ba1e45e4 /etc | |
parent | 047c40c4e8893e1ec90839c21422bfa65bac95e3 (diff) | |
download | pfsense-ed919b11cc702a2b071cb6877cbff87171a37449.zip pfsense-ed919b11cc702a2b071cb6877cbff87171a37449.tar.gz |
rmdir_recursive: Handle single files and remove an extra foreach.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/inc/pfsense-utils.inc | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/etc/inc/pfsense-utils.inc b/etc/inc/pfsense-utils.inc index 4af92fa..23d0899 100644 --- a/etc/inc/pfsense-utils.inc +++ b/etc/inc/pfsense-utils.inc @@ -786,34 +786,23 @@ if (!function_exists('php_check_syntax')){ */ function rmdir_recursive($path,$follow_links=false) { $to_do = glob($path); - if(!is_array($to_do)) { - if(file_exists($to_do)) { - $dir = opendir($path); - while ($entry = readdir($dir)) { - if (is_file("$path/$entry") || ((!$follow_links) && is_link("$path/$entry"))) - unlink("$path/$entry"); - elseif (is_dir("$path/$entry") && $entry!='.' && $entry!='..') - rmdir_recursive("$path/$entry"); - } - closedir($dir); - rmdir($path); - return; - } - } else { - foreach($to_do as $workingdir) { // Handle wildcards by foreaching. - if(file_exists($workingdir)) { + if(!is_array($to_do)) $to_do = array($to_do); + foreach($to_do as $workingdir) { // Handle wildcards by foreaching. + if(file_exists($workingdir)) { + if(is_dir($workingdir)) { $dir = opendir($workingdir); while ($entry = readdir($dir)) { if (is_file("$workingdir/$entry") || ((!$follow_links) && is_link("$workingdir/$entry"))) - unlink("$workingdir/$entry"); + unlink("$workingdir/$entry"); elseif (is_dir("$workingdir/$entry") && $entry!='.' && $entry!='..') - rmdir_recursive("$workingdir/$entry"); + rmdir_recursive("$workingdir/$entry"); } closedir($dir); rmdir($workingdir); - } - } - return; + } elseif (is_file($workingdir)) { + unlink($workingdir); + } + } } return; } @@ -937,4 +926,4 @@ function fetch_latest_pkg_config() { return; } -?>
\ No newline at end of file +?> |