From a3c35f89fa41b3b9258d083ff9ab466842ff2373 Mon Sep 17 00:00:00 2001 From: abbodi1406 Date: Fri, 17 Jun 2022 02:00:48 +0300 Subject: [PATCH] regulate files names append sha1 name suffix for the smaller duplicate file, thus unify the result for findfiles/get --- get.php | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/get.php b/get.php index 782e4ff..d080d61 100644 --- a/get.php +++ b/get.php @@ -420,7 +420,14 @@ function uupGetOnlineFiles($updateId, $rev, $info, $cacheRequests, $type) { if($sha256capable) { $tempname = uupCleanSha256($name); if(isset($files[$tempname])) { - $newName = uupAppendSha1($tempname, $sha1); + if($size > $files[$tempname]['size']) { + $smaller = uupAppendSha1($tempname, $files[$tempname]['sha1']); + $files[$smaller] = $files[$tempname]; + unset($files[$tempname]); + $newName = $tempname; + } else { + $newName = uupAppendSha1($tempname, $sha1); + } } else { $newName = $tempname; } @@ -492,7 +499,14 @@ function uupGetOfflineFiles($info) { if($sha256capable) { $tempname = uupCleanSha256($name); if(isset($files[$tempname])) { - $newName = uupAppendSha1($tempname, $sha1); + if($size > $files[$tempname]['size']) { + $smaller = uupAppendSha1($tempname, $files[$tempname]['sha1']); + $files[$smaller] = $files[$tempname]; + unset($files[$tempname]); + $newName = $tempname; + } else { + $newName = uupAppendSha1($tempname, $sha1); + } } else { $newName = $tempname; }