From: Kevron Rees Date: Wed, 30 Apr 2014 19:42:37 +0000 (-0700) Subject: fixed checksum() X-Git-Tag: submit/tizen_ivi/20140619.111013~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=61306d440b6b731129998f4e85b629e1272f2f49;p=profile%2Fivi%2Fautomotive-message-broker.git fixed checksum() --- diff --git a/plugins/gpsnmea/gpsnmea.cpp b/plugins/gpsnmea/gpsnmea.cpp index 92a6d92..b36f8b8 100644 --- a/plugins/gpsnmea/gpsnmea.cpp +++ b/plugins/gpsnmea/gpsnmea.cpp @@ -155,6 +155,11 @@ void Location::parseGprmc(string gprmc) std::vector tokens; boost::split(tokens, gprmc, boost::is_any_of(",")); + if(!tokens.size()) + { + return; + } + if(tokens[2] == "A") { isActive = true; @@ -440,6 +445,10 @@ GpsNmeaSource::GpsNmeaSource(AbstractRoutingEngine *re, map conf g_assert(multimessageParse); + //test false message: + + g_assert(!checksum("GPRMC,172758.296,V")); + } std::string btaddapter = config["bluetoothAdapter"]; @@ -621,7 +630,7 @@ void GpsNmeaSource::addPropertySupport(VehicleProperty::Property property, Zone: bool GpsNmeaSource::checksum(std::string sentence) { - if(sentence.empty() || sentence.length() < 4) + if(sentence.empty() || sentence.length() < 4 || sentence.find("*") == string::npos || sentence.find("*") >= sentence.length()-2) { return false; }