Correct return value for copying sub-dirs
authorJamie Cameron <jcameron@webmin.com>
Fri, 1 May 2009 17:25:31 +0000 (17:25 +0000)
committerJamie Cameron <jcameron@webmin.com>
Fri, 1 May 2009 17:25:31 +0000 (17:25 +0000)
useradmin/user-lib.pl

index 455aed8..67b1b34 100644 (file)
@@ -1115,7 +1115,17 @@ elsif (-l $_[0] && !$config{'copy_symlinks'}) {
 elsif (-d $_[0]) {
        # A directory .. copy it recursively
        &system_logged("cp -Rp ".quotemeta($_[0])." ".quotemeta("$_[1]/$base")." >/dev/null 2>/dev/null");
-       @rv = glob("$_[1]/$base/*");
+       local $glob = "$_[1]/$base/*";
+       while(1) {
+               local @g = glob($glob);
+               if (@g) {
+                       push(@rv, @g);
+                       $glob .= "/*";
+                       }
+               else {
+                       last;
+                       }
+               }
        }
 else {
        # Just a normal file .. copy it