[feature] set msd interface modify 3
Change-Id: Iadc8f955c1ca4c8f423fa755540a2aed94eeb6af
diff --git a/lib/liblynq-call/lynq_call.cpp b/lib/liblynq-call/lynq_call.cpp
index 1605fc3..08c5e0f 100755
--- a/lib/liblynq-call/lynq_call.cpp
+++ b/lib/liblynq-call/lynq_call.cpp
@@ -1195,17 +1195,18 @@
int lynq_call_id = -1;
RIL_ECall_Variant ril_ecall_variant = lynq_get_ril_ecall_variant_from_lynq_variant (lynq_ecall_variant);
RIL_ECall_Category ril_ecall_cat = lynq_get_ril_ecall_cat_from_lynq_cat(lynq_ecall_cat);
+ char lynq_msd_data[MSD_MAX_LENGTH*2+1]={0};
+ unsigned int i;
if(msd_length > MSD_MAX_LENGTH)
{
LYERRLOG("msd_length %d is greater than %d, parameter error\n",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++)
+ for(i =0; i<msd_length;i++)
{
- sprintf(lynq_msd_data[i<<1],"%02x",msd_data[i]);
+ sprintf(&(lynq_msd_data[i<<1]),"%02x",msd_data[i]);
}
lynq_call_id = updateAddr(e_call_addr[lynq_ecall_variant]);
@@ -1287,16 +1288,18 @@
int lynq_set_msd(int* handle, const unsigned char *msd_data, int msd_length)
{
+ char lynq_msd_data[MSD_MAX_LENGTH*2+1]={0};
+ unsigned int i;
+
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 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++)
+ for(i=0; i<msd_length;i++)
{
- sprintf(lynq_msd_data[i<<1],"%02x",msd_data[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,lynq_msd_data);