diff --git a/libraries/AP_GPS/AP_GPS.cpp b/libraries/AP_GPS/AP_GPS.cpp index 5c779daf01..7c26ed2184 100644 --- a/libraries/AP_GPS/AP_GPS.cpp +++ b/libraries/AP_GPS/AP_GPS.cpp @@ -751,20 +751,23 @@ void AP_GPS::handle_gps_inject(const mavlink_message_t *msg) */ void AP_GPS::handle_msg(const mavlink_message_t *msg) { - if (msg->msgid == MAVLINK_MSG_ID_GPS_RTCM_DATA) { + switch (msg->msgid) { + case MAVLINK_MSG_ID_GPS_RTCM_DATA: // pass data to de-fragmenter handle_gps_rtcm_data(msg); - return; - } - if (msg->msgid == MAVLINK_MSG_ID_GPS_INJECT_DATA) { + break; + case MAVLINK_MSG_ID_GPS_INJECT_DATA: handle_gps_inject(msg); - return; - } - uint8_t i; - for (i=0; ihandle_msg(msg); + break; + default: { + uint8_t i; + for (i=0; ihandle_msg(msg); + } } + break; + } } }