Fix sms +CMT urc.

Change-Id: If958e4831e93b0484e209e29f9ea357539f0fd03
diff --git a/mbtk/mbtk_rild_v2/src/main.c b/mbtk/mbtk_rild_v2/src/main.c
index 0b70641..881c12b 100755
--- a/mbtk/mbtk_rild_v2/src/main.c
+++ b/mbtk/mbtk_rild_v2/src/main.c
@@ -685,11 +685,10 @@
 

 // +CMT: ,23

 // 0891683108200855F6240D91688189911196F10000221130717445230331D90C

-static void urc_sms_state_change_process(const char *s, const char *sms_pdu)

+static void urc_sms_state_change_process(const char *s, bool is_pdu)

 {

-    if(sms_pdu) {

-        LOGD("PDU : %s", sms_pdu);

-        mbtk_ril_sms_state_info_t sms_info;

+    static mbtk_ril_sms_state_info_t sms_info;

+    if(!is_pdu) {

         memset(&sms_info, 0, sizeof(mbtk_ril_sms_state_info_t));

         char* tmp_s = memdup(s,strlen(s) + 1);

         char *line = tmp_s;

@@ -707,11 +706,12 @@
             goto CMT_EXIT;

         }

         sms_info.pdu_len = (uint16)atoi(tmp_str);

-        memcpy(sms_info.pdu, sms_pdu, strlen(sms_pdu));

-

-        urc_msg_distribute(false, RIL_MSG_ID_IND_SMS_STATE_CHANGE, &sms_info, sizeof(mbtk_ril_sms_state_info_t));

     CMT_EXIT:

         free(tmp_s);

+    } else {

+        LOGD("PDU : %s", s);

+        memcpy(sms_info.pdu, s, strlen(s));

+        urc_msg_distribute(false, RIL_MSG_ID_IND_SMS_STATE_CHANGE, &sms_info, sizeof(mbtk_ril_sms_state_info_t));

     }

 }

 

@@ -1730,7 +1730,7 @@
     // Get PDU data.

     if(cmt_found) {

         cmt_found = FALSE;

-        urc_sms_state_change_process(s, sms_pdu);

+        urc_sms_state_change_process(s, true);

     } else if (strStartsWith(s, "MBTK_AT_READY")) { // AT ready.

 

     } else if(strStartsWith(s, "CONNECT") || strStartsWith(s, "+CGEV:")) {

@@ -1788,7 +1788,7 @@
     else if(strStartsWith(s, "+CMT:"))

     {

         cmt_found = TRUE;

-        urc_sms_state_change_process(s, sms_pdu);

+        urc_sms_state_change_process(s, false);

     }

     else if(strStartsWith(s, "*ECALLDATA:"))

     {