From df84ba66ace40eb76d17acb9d1d7713df369c382 Mon Sep 17 00:00:00 2001 From: Torsten Dreyer Date: Fri, 6 May 2016 16:20:09 +0200 Subject: [PATCH] Remove unneeded local scope (no functional change intended) --- simgear/scene/tsync/terrasync.cxx | 112 +++++++++++++++--------------- 1 file changed, 55 insertions(+), 57 deletions(-) diff --git a/simgear/scene/tsync/terrasync.cxx b/simgear/scene/tsync/terrasync.cxx index 5edc591e..412c3add 100644 --- a/simgear/scene/tsync/terrasync.cxx +++ b/simgear/scene/tsync/terrasync.cxx @@ -508,64 +508,62 @@ void SGTerraSync::SvnThread::run() _active = true; initCompletedTilesPersistentCache(); - { - if (_httpServer == "automatic" ) { - - //TODO: make DN and service settable from properties - DNS::NAPTRRequest * naptrRequest = new DNS::NAPTRRequest("terrasync.flightgear.org"); - naptrRequest->qservice = "ws20"; - - naptrRequest->qflags = "U"; - DNS::Request_ptr r(naptrRequest); - - DNS::Client dnsClient; - dnsClient.makeRequest(r); - while( !r->isComplete() && !r->isTimeout() ) - dnsClient.update(0); - - if( naptrRequest->entries.empty() ) { - SG_LOG(SG_TERRASYNC, SG_ALERT, "ERROR: automatic terrasync http-server requested, but no DNS entry found."); - _httpServer = ""; - } else { - // walk through responses, they are ordered by 1. order and 2. preference - // For now, only take entries with lowest order - // TODO: try all available servers in the order given by preferenc and order - int order = naptrRequest->entries[0]->order; - - // get all servers with this order and the same (for now only lowest preference) - DNS::NAPTRRequest::NAPTR_list availableServers; - for( DNS::NAPTRRequest::NAPTR_list::const_iterator it = naptrRequest->entries.begin(); - it != naptrRequest->entries.end(); - ++it ) { - - if( (*it)->order != order ) - continue; - - string regex = (*it)->regexp; - if( false == simgear::strutils::starts_with( (*it)->regexp, "!^.*$!" ) ) { - SG_LOG(SG_TERRASYNC,SG_WARN, "ignoring unsupported regexp: " << (*it)->regexp ); - continue; - } - - if( false == simgear::strutils::ends_with( (*it)->regexp, "!" ) ) { - SG_LOG(SG_TERRASYNC,SG_WARN, "ignoring unsupported regexp: " << (*it)->regexp ); - continue; - } - - // always use first entry - if( availableServers.empty() || (*it)->preference == availableServers[0]->preference) { - SG_LOG(SG_TERRASYNC,SG_DEBUG, "available server regexp: " << (*it)->regexp ); - availableServers.push_back( *it ); - } - } - - // now pick a random entry from the available servers - DNS::NAPTRRequest::NAPTR_list::size_type idx = sg_random() * availableServers.size(); - _httpServer = availableServers[idx]->regexp; - _httpServer = _httpServer.substr( 6, _httpServer.length()-7 ); // strip search pattern and separators - - SG_LOG(SG_TERRASYNC,SG_INFO, "picking entry # " << idx << ", server is " << _httpServer ); + if (_httpServer == "automatic" ) { + + //TODO: make DN and service settable from properties + DNS::NAPTRRequest * naptrRequest = new DNS::NAPTRRequest("terrasync.flightgear.org"); + naptrRequest->qservice = "ws20"; + + naptrRequest->qflags = "U"; + DNS::Request_ptr r(naptrRequest); + + DNS::Client dnsClient; + dnsClient.makeRequest(r); + while( !r->isComplete() && !r->isTimeout() ) + dnsClient.update(0); + + if( naptrRequest->entries.empty() ) { + SG_LOG(SG_TERRASYNC, SG_ALERT, "ERROR: automatic terrasync http-server requested, but no DNS entry found."); + _httpServer = ""; + } else { + // walk through responses, they are ordered by 1. order and 2. preference + // For now, only take entries with lowest order + // TODO: try all available servers in the order given by preferenc and order + int order = naptrRequest->entries[0]->order; + + // get all servers with this order and the same (for now only lowest preference) + DNS::NAPTRRequest::NAPTR_list availableServers; + for( DNS::NAPTRRequest::NAPTR_list::const_iterator it = naptrRequest->entries.begin(); + it != naptrRequest->entries.end(); + ++it ) { + + if( (*it)->order != order ) + continue; + + string regex = (*it)->regexp; + if( false == simgear::strutils::starts_with( (*it)->regexp, "!^.*$!" ) ) { + SG_LOG(SG_TERRASYNC,SG_WARN, "ignoring unsupported regexp: " << (*it)->regexp ); + continue; + } + + if( false == simgear::strutils::ends_with( (*it)->regexp, "!" ) ) { + SG_LOG(SG_TERRASYNC,SG_WARN, "ignoring unsupported regexp: " << (*it)->regexp ); + continue; + } + + // always use first entry + if( availableServers.empty() || (*it)->preference == availableServers[0]->preference) { + SG_LOG(SG_TERRASYNC,SG_DEBUG, "available server regexp: " << (*it)->regexp ); + availableServers.push_back( *it ); + } } + + // now pick a random entry from the available servers + DNS::NAPTRRequest::NAPTR_list::size_type idx = sg_random() * availableServers.size(); + _httpServer = availableServers[idx]->regexp; + _httpServer = _httpServer.substr( 6, _httpServer.length()-7 ); // strip search pattern and separators + + SG_LOG(SG_TERRASYNC,SG_INFO, "picking entry # " << idx << ", server is " << _httpServer ); } } if( _httpServer.empty() ) { // don't resolve SVN server is HTTP server is set -- 2.39.5