[Bugfix][T600][Bug-view-856] if set apn name twice, there is error

    Only Configure: No
    Affected branch: unknown
    Affected module: data
    Is it affected on both ZXIC and ASR: only ASR
    Self-test: yes
    Doc Update: no

Change-Id: I3190c1d561201990b67636c1eddc5ebb63380ff2
diff --git a/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp b/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
index 3f76e0a..0676031 100644
--- a/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
+++ b/LYNQ_SRC/yocto/src/lynq/lib/libql-data-call/ql_data_call.cpp
@@ -394,7 +394,7 @@
         QL_NET_DATA_CALL_STATUS_E cur_status=data_call_info[i].call_state.call_status;
         int apn_id=data_call_info[i].call_param_info.apn_param->apn_id;
         const char* dev=data_call_info[i].call_state.device;
-        if(pre_call_status!=cur_status && dev!=NULL)
+        if(pre_call_status!=cur_status && dev[0]!=0)
         {
         	if(cur_status==QL_NET_DATA_CALL_STATUS_CONNECTED || 
 			   cur_status==QL_NET_DATA_CALL_STATUS_PARTIAL_V4_CONNECTED ||
@@ -463,8 +463,8 @@
         ql_info_handle = mbtk_info_handle_get();
         if(ql_info_handle)
         {
-            memset(&data_call_info, 0, sizeof(data_call_info));
-            memset(&data_call_apn_param_list, 0, sizeof(data_call_apn_param_list));
+            memset(data_call_info, 0, sizeof(data_call_info));
+            memset(data_call_apn_param_list, 0, sizeof(data_call_apn_param_list));
             return QL_ERR_OK;
         } else {
             LOGE("mbtk_info_handle_get() fail.");
@@ -516,9 +516,9 @@
     }
 
     data_call_info[i].call_info.call_id = call_id;
-    memcpy(data_call_info[i].call_info.call_name, call_name, strlen(call_name));
+    strcpy(data_call_info[i].call_info.call_name, call_name);
     data_call_info[i].call_state.call_id = call_id;
-    memcpy(data_call_info[i].call_state.call_name, call_name, strlen(call_name));
+    strcpy(data_call_info[i].call_state.call_name, call_name);
 
     data_call_info[i].is_background = is_background;
 
@@ -711,7 +711,7 @@
     if(info->apn_param == NULL) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(info->apn_param->apn_info.apn_name, apn_name, strlen(apn_name));
+    strcpy(info->apn_param->apn_info.apn_name, apn_name);
 
     return QL_ERR_OK;
 }
@@ -745,7 +745,7 @@
     if(strlen(info->apn_param->apn_info.apn_name) + 1 > buf_len) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(buf, info->apn_param->apn_info.apn_name, strlen(info->apn_param->apn_info.apn_name));
+    strcpy(buf, info->apn_param->apn_info.apn_name);
 
     return QL_ERR_OK;
 }
@@ -776,7 +776,7 @@
     if(info->apn_param == NULL) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(info->apn_param->apn_info.username, user_name, strlen(user_name));
+    strcpy(info->apn_param->apn_info.username, user_name);
 
     return QL_ERR_OK;
 }
@@ -810,7 +810,7 @@
     if(strlen(info->apn_param->apn_info.username) + 1 > buf_len) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(buf, info->apn_param->apn_info.username, strlen(info->apn_param->apn_info.username));
+    strcpy(buf, info->apn_param->apn_info.username);
 
     return QL_ERR_OK;
 }
@@ -841,7 +841,7 @@
     if(info->apn_param == NULL) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(info->apn_param->apn_info.password, user_password, strlen(user_password));
+    strcpy(info->apn_param->apn_info.password, user_password);
 
     return QL_ERR_OK;
 }
@@ -875,7 +875,7 @@
     if(strlen(info->apn_param->apn_info.password) + 1 > buf_len) {
         return QL_ERR_INVALID_ARG;
     }
-    memcpy(buf, info->apn_param->apn_info.password, strlen(info->apn_param->apn_info.password));
+    strcpy(buf, info->apn_param->apn_info.password);
 
     return QL_ERR_OK;
 }
@@ -1274,16 +1274,16 @@
             return QL_ERR_UNKNOWN;
     }
 
-    char auth_type[64]={0};
+    char auth_type[16];
     switch(data_call_info[i].call_param_info.apn_param->apn_info.auth_pref) {
         case QL_NET_AUTH_PREF_PAP_CHAP_NOT_ALLOWED:
-            memcpy(auth_type,"NONE",strlen("NONE"));
+            strcpy(auth_type,"NONE");
             break;
         case QL_NET_AUTH_PREF_PAP_ONLY_ALLOWED:
-            memcpy(auth_type,"PAP",strlen("PAP"));
+            strcpy(auth_type,"PAP");
             break;
         case QL_NET_AUTH_PREF_CHAP_ONLY_ALLOWED:
-            memcpy(auth_type,"CHAP",strlen("CHAP"));
+            strcpy(auth_type,"CHAP");
             break;
 #if 0
         case QL_NET_AUTH_PREF_PAP_CHAP_BOTH_ALLOWED:
@@ -1449,11 +1449,8 @@
     *list_len = 0;
     while(i < QL_NET_MAX_DATA_CALL_NUM) {
         if(data_call_info[i].call_info.call_id > 0) {
-            memset(&(list[*list_len]), 0, sizeof(ql_data_call_item_t));
             list[*list_len].call_id = data_call_info[i].call_info.call_id;
-            memcpy(list[*list_len].call_name, data_call_info[i].call_info.call_name,
-                strlen(data_call_info[i].call_info.call_name));
-
+            strcpy(list[*list_len].call_name, data_call_info[i].call_info.call_name);
             (*list_len)++;
         }
         i++;