From d3917b60651b67bcca511682ee822ef234929d3f Mon Sep 17 00:00:00 2001 From: Laurent Destailleur <eldy@destailleur.fr> Date: Thu, 11 May 2017 12:25:53 +0200 Subject: [PATCH] FIX Bad return code of dolCpyDir --- htdocs/core/lib/files.lib.php | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index 3d33fcb71f2..47501a86e8d 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -551,13 +551,23 @@ function dolCopyDir($srcfile, $destfile, $newmask, $overwriteifexists) $dirmaskdec |= octdec('0200'); // Set w bit required to be able to create content for recursive subdirs files dol_mkdir($destfile."/".$file, '', decoct($dirmaskdec)); } - $result=dolCopyDir($srcfile."/".$file, $destfile."/".$file, $newmask, $overwriteifexists); + $tmpresult=dolCopyDir($srcfile."/".$file, $destfile."/".$file, $newmask, $overwriteifexists); } else { - $result=dol_copy($srcfile."/".$file, $destfile."/".$file, $newmask, $overwriteifexists); + $tmpresult=dol_copy($srcfile."/".$file, $destfile."/".$file, $newmask, $overwriteifexists); + } + // Set result + if ($result > 0 && $tmpresult >= 0) + { + // Do nothing, so we don't set result to 0 if tmpresult is 0 and result was success in a previous pass + } + else + { + $result=$tmpresult; } if ($result < 0) break; + } } closedir($dir_handle); -- GitLab