diff --git a/net/netx/src/TXNetFile.cxx b/net/netx/src/TXNetFile.cxx index 2e88422cf94a0c60a73115d437738603d7374a18..1d7fe45231b290dbfd6665fccf4e5b81aa289ffb 100644 --- a/net/netx/src/TXNetFile.cxx +++ b/net/netx/src/TXNetFile.cxx @@ -517,12 +517,12 @@ Bool_t TXNetFile::Open(Option_t *option, Bool_t doitparallel) // // Create and Recreate are correlated + if (create) + openOpt |= kXR_new; if (recreate) { openOpt |= kXR_delete; create = kTRUE; } - if (create) - openOpt |= kXR_new; Bool_t mkpath = (gEnv->GetValue("XNet.Mkpath", 0) == 1) ? kTRUE : kFALSE; char *p = (char*)strstr(fUrl.GetOptions(), "mkpath="); @@ -1032,12 +1032,6 @@ Int_t TXNetFile::SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, return TNetFile::SysStat(fd, id, size, flags, modtime); } - if (!IsOpen()) { - Error("SysStat","The remote file is not open"); - *size = 0; - return 1; - } - // Return file stat information. The interface and return value is // identical to TSystem::GetPathInfo(). struct XrdClientStatInfo stinfo; @@ -1050,8 +1044,13 @@ Int_t TXNetFile::SysStat(Int_t fd, Long_t *id, Long64_t *size, Long_t *flags, Info("SysStat", "got stats = %ld %lld %ld %ld", *id, *size, *flags, *modtime); } else { - if (gDebug > 1) - Info("SysStat", "could not stat remote file"); + if (gDebug > 1) { + if (!IsOpen()) + Info("SysStat", "could not stat remote file. File not open."); + else + Info("SysStat", "could not stat remote file"); + } + *id = -1; return 1; }