From 31aef4e82b2e746837a6ef0fcd8d3f1b7385bc8e Mon Sep 17 00:00:00 2001 From: UbitUmarov Date: Thu, 14 Nov 2019 06:34:44 +0000 Subject: work on previus 2 patchs --- OpenSim/Services/GridService/GridService.cs | 36 ++++++++++++++--------------- 1 file changed, 17 insertions(+), 19 deletions(-) (limited to 'OpenSim/Services/GridService') diff --git a/OpenSim/Services/GridService/GridService.cs b/OpenSim/Services/GridService/GridService.cs index b672e8c..d8f3720 100755 --- a/OpenSim/Services/GridService/GridService.cs +++ b/OpenSim/Services/GridService/GridService.cs @@ -476,9 +476,9 @@ namespace OpenSim.Services.GridService public GridRegion GetRegionByName(UUID scopeID, string name) { - List rdatas = m_Database.Get(Util.EscapeForLike(name), scopeID); - if ((rdatas != null) && (rdatas.Count > 0)) - return RegionData2RegionInfo(rdatas[0]); // get the first + RegionData rdata = m_Database.GetSpecific(name, scopeID); + if (rdata != null) + return RegionData2RegionInfo(rdata); if (m_AllowHypergridMapSearch) { @@ -490,18 +490,7 @@ namespace OpenSim.Services.GridService return null; } - //BA MOD.... - public GridRegion GetRegionByNameSpecific(UUID scopeID, string name) - { - RegionData rdata = m_Database.GetSpecific(name, scopeID); - if (rdata != null) - { - return RegionData2RegionInfo(rdata); - } - return null; - } - - public List GetRegionsByName(UUID scopeID, string name, int maxNumber) + public List GetRegionsByName(UUID scopeID, string name, int maxNumber) { // m_log.DebugFormat("[GRID SERVICE]: GetRegionsByName {0}", name); @@ -510,7 +499,7 @@ namespace OpenSim.Services.GridService int count = 0; List rinfos = new List(); - if (count < maxNumber && m_AllowHypergridMapSearch && name.Contains(".")) + if (m_AllowHypergridMapSearch && name.Contains(".")) { string regionURI = ""; string regionHost = ""; @@ -538,7 +527,7 @@ namespace OpenSim.Services.GridService { if (count++ < maxNumber) rinfos.Add(RegionData2RegionInfo(rdata)); - if(rdata.RegionName == mapname) + if(mapname.Equals(rdata.RegionName,StringComparison.InvariantCultureIgnoreCase)) { haveMatch = true; if(count == maxNumber) @@ -560,7 +549,7 @@ namespace OpenSim.Services.GridService { if (count++ < maxNumber) rinfos.Add(RegionData2RegionInfo(rdata)); - if(rdata.RegionName == mapname) + if (mapname.Equals(rdata.RegionName, StringComparison.InvariantCultureIgnoreCase)) { haveMatch = true; if(count == maxNumber) @@ -588,11 +577,20 @@ namespace OpenSim.Services.GridService } else if (rdatas != null && (rdatas.Count > 0)) { -// m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count); + //m_log.DebugFormat("[GRID SERVICE]: Found {0} regions", rdatas.Count); foreach (RegionData rdata in rdatas) { if (count++ < maxNumber) rinfos.Add(RegionData2RegionInfo(rdata)); + if (name.Equals(rdata.RegionName, StringComparison.InvariantCultureIgnoreCase)) + { + if (count == maxNumber) + { + rinfos.RemoveAt(count - 1); + rinfos.Add(RegionData2RegionInfo(rdata)); + break; + } + } } } -- cgit v1.1