From 9af0ec4c514b17b5372097f7ee7ddabb2de5979c Mon Sep 17 00:00:00 2001 From: Dante Russo Date: Wed, 6 Jul 2016 14:03:12 -0700 Subject: [PATCH] msm8974-common: gps: Return the correct length of nmea sentence MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Return the correct length of nmea sentence in the function loc_eng_nmea_put_checksum(). The correct length is length of NMEA string including ‘$’ character alongwith length of checksum. CRs-Fixed: 1020044 Change-Id: I50d80b9c4492de4664bb3ccb7295b0eb4fee15a9 --- gps/loc_api/libloc_api_50001/loc_eng_nmea.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gps/loc_api/libloc_api_50001/loc_eng_nmea.cpp b/gps/loc_api/libloc_api_50001/loc_eng_nmea.cpp index c29ab91..f53655f 100644 --- a/gps/loc_api/libloc_api_50001/loc_eng_nmea.cpp +++ b/gps/loc_api/libloc_api_50001/loc_eng_nmea.cpp @@ -96,8 +96,12 @@ int loc_eng_nmea_put_checksum(char *pNmea, int maxSize) length++; } + // length now contains nmea sentence string length not including $ sign. int checksumLength = snprintf(pNmea,(maxSize-length-1),"*%02X\r\n", checksum); - return (length + checksumLength); + + // total length of nmea sentence is length of nmea sentence inc $ sign plus + // length of checksum (+1 is to cover the $ character in the length). + return (length + checksumLength + 1); } /*===========================================================================