Merge "[Bugfix][T106BUG-144] Fix imsi return error"
diff --git a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_sim.c b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_sim.c
index d0425f1..54f5e11 100755
--- a/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_sim.c
+++ b/cap/zx297520v3/zxic_code/zxic_source/zxic_app_open/sdk/ril/reference-ril/ril_sim.c
@@ -1025,6 +1025,8 @@
   char  *cmdString;    
   char  imsi_str[50] = "";
   int imsi_len = 0;
+  char *line;
+  char *result;
   asprintf(&cmdString, "AT+CIMI");
   err = at_send_command_singleline(cmdString, "+CIMI:", &response);
   free(cmdString);
@@ -1049,7 +1051,18 @@
   }*/
   if (response->finalResponse)
   {
-    RIL_onRequestComplete(token, RIL_E_SUCCESS, response->p_intermediates->line, sizeof(char *));
+    line = response->p_intermediates->line;
+    err = at_tok_start(&line);
+    if(err < 0)
+    {
+        goto error;
+    }
+    err = at_tok_nextstr(&line, &result);
+    if(err < 0)
+    {
+        goto error;
+    }
+    RIL_onRequestComplete(token, RIL_E_SUCCESS, result, sizeof(char *));
     goto exit;
   }
   error: