From 14eb08b37e3875cb03cadf3cdd162701918c8665 Mon Sep 17 00:00:00 2001 From: Matteo Cypriani Date: Tue, 29 May 2012 13:46:42 +0200 Subject: [PATCH] [Positioner] Autocalibration: fix multi-packet loop Fixes the Autocalibration::compute_multi_packet_ss() loop that searches for the first good measurement. --- owlps-positioner/src/autocalibration.cc | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/owlps-positioner/src/autocalibration.cc b/owlps-positioner/src/autocalibration.cc index dff62f5..a986871 100644 --- a/owlps-positioner/src/autocalibration.cc +++ b/owlps-positioner/src/autocalibration.cc @@ -252,9 +252,12 @@ void Autocalibration::compute_multi_packet_ss() const Measurement *rx_measurement = NULL ; vector::const_iterator cr ; const string &rx_mac = rx->second.get_mac_addr() ; - for (cr = ref1_cr.begin() ; ! rx_measurement && cr != ref1_cr.end() ; - ++cr) - rx_measurement = (*cr)->get_measurement(rx_mac) ; + for (cr = ref1_cr.begin() ; cr != ref1_cr.end() ; ++cr) + { + rx_measurement = (*cr)->get_measurement(rx_mac) ; + if (rx_measurement) + break ; + } // The selected reference APs are in coverage of RX, therefore // we should always find a measurement of RX in ref1_rp