From ebdec39a8e13f3e39bd01bef4cd08fa01e3ec5f3 Mon Sep 17 00:00:00 2001 From: Michal Simon Date: Fri, 12 Jan 2018 12:06:35 +0100 Subject: [PATCH] [XrdCl] fix checksuming in xrdcp for localfiles. fixes #641 --- src/XrdCl/XrdClClassicCopyJob.cc | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/XrdCl/XrdClClassicCopyJob.cc b/src/XrdCl/XrdClClassicCopyJob.cc index 2f276c6ecf0..c48e93274a5 100644 --- a/src/XrdCl/XrdClClassicCopyJob.cc +++ b/src/XrdCl/XrdClClassicCopyJob.cc @@ -559,6 +559,9 @@ namespace if( !checkSum.empty() ) return XrdCl::XRootDStatus(); } + if( pUrl->IsLocalFile() ) + return XrdCl::Utils::GetLocalCheckSum( checkSum, checkSumType, pUrl->GetPath() ); + std::string dataServer; pFile->GetProperty( "DataServer", dataServer ); std::string lastUrl; pFile->GetProperty( "LastURL", lastUrl ); return XrdCl::Utils::GetRemoteCheckSum( checkSum, checkSumType, @@ -1335,6 +1338,9 @@ namespace virtual XrdCl::XRootDStatus GetCheckSum( std::string &checkSum, std::string &checkSumType ) { + if( pUrl->IsLocalFile() ) + return XrdCl::Utils::GetLocalCheckSum( checkSum, checkSumType, pUrl->GetPath() ); + std::string dataServer; pFile->GetProperty( "DataServer", dataServer ); return XrdCl::Utils::GetRemoteCheckSum( checkSum, checkSumType, dataServer, pUrl->GetPath() );