[feature] ecall msd interface modify 2

Change-Id: Ic4e0c720aa1fc8cc8aa50b5377a617f55b2f529c
diff --git a/lib/liblynq-call/lynq_call.cpp b/lib/liblynq-call/lynq_call.cpp
index f13ac33..1605fc3 100755
--- a/lib/liblynq-call/lynq_call.cpp
+++ b/lib/liblynq-call/lynq_call.cpp
@@ -1285,15 +1285,21 @@
 }

 

 

-int lynq_set_msd(int* handle, const char *msd_data, int msd_length)

+int lynq_set_msd(int* handle, const unsigned char *msd_data, int msd_length)

 {

-    if(handle==NULL || ((*handle) >= LYNQ_CALL_MAX))

+    if(handle==NULL || ((*handle) >= LYNQ_CALL_MAX) || msd_length > MSD_MAX_LENGTH)

     {

-        LYERRLOG("handle is NULL or *handle %d is greater or equeal to %d, parameter error\n",*handle,LYNQ_CALL_MAX);

-           return -1;

+        LYERRLOG("handle is NULL or *handle %d is greater or equeal to %d or msd_length %d is greater than %d, parameter error\n",*handle,LYNQ_CALL_MAX,msd_length,MSD_MAX_LENGTH);

+        return -1;

+    }    

+    char* lynq_msd_data[MSD_MAX_LENGTH*2+1]={0};

+

+    for(int i =0; i<msd_length;i++)

+    {

+        sprintf(lynq_msd_data[i<<1],"%02x",msd_data[i]);

     }    

 

-    return lynq_set_common_request(RIL_REQUEST_ECALL_SET_MSD,2,"%d %s",lynq_call_lists[(*handle)].call_id,msd_data);

+    return lynq_set_common_request(RIL_REQUEST_ECALL_SET_MSD,2,"%d %s",lynq_call_lists[(*handle)].call_id,lynq_msd_data);

 }

 

 int lynq_set_ivs(int enable)