fixed throw when trying to parse empty speed
authorKevron Rees <kevron.m.rees@intel.com>
Thu, 20 Mar 2014 20:24:34 +0000 (13:24 -0700)
committerKevron Rees <kevron.m.rees@intel.com>
Thu, 20 Mar 2014 20:24:34 +0000 (13:24 -0700)
plugins/gpsnmea/gpsnmea.cpp

index 5e10c99..e4c9502 100644 (file)
@@ -274,15 +274,24 @@ void Location::parseLongitude(string d, string m, string ew)
 
 void Location::parseSpeed(string spd)
 {
-       double s = boost::lexical_cast<double>(spd);
+       try
+       {
+
+
+               double s = boost::lexical_cast<double>(spd);
 
-       ///to kph:
-       s *= 1.852;
-       VehicleProperty::VehicleSpeedType temp(s);
-       if(mSpeed != temp)
+               ///to kph:
+               s *= 1.852;
+               VehicleProperty::VehicleSpeedType temp(s);
+               if(mSpeed != temp)
+               {
+                       mSpeed = temp;
+                       routingEngine->updateProperty(&mSpeed, mUuid);
+               }
+       }
+       catch(...)
        {
-               mSpeed = temp;
-               routingEngine->updateProperty(&mSpeed, mUuid);
+               DebugOut(DebugOut::Warning)<<"failed to parse speed"<<endl;
        }
 }