[Bugfix][API-1551[network]  lynq_set_vlan_info, vlan_info is "", ret
8004

       Affected branch: unknown
       Affected module: unknown
       Is it affected on both ZXIC and MTK: both
       Self-test: Yes
       Doc Update: No

Change-Id: Icb6e6fffdff8436798d54ba67f47d537fe475e24
diff --git a/common_src/framework/lynq-ril-service/src/rtp/call_rtp.cpp b/common_src/framework/lynq-ril-service/src/rtp/call_rtp.cpp
index 0f8e597..fb25cec 100755
--- a/common_src/framework/lynq-ril-service/src/rtp/call_rtp.cpp
+++ b/common_src/framework/lynq-ril-service/src/rtp/call_rtp.cpp
@@ -143,25 +143,22 @@
 {

     RLOGD("%s start!",__FUNCTION__);

     android::Parcel p;

-

-    if(argc < 2) 

+    const char* vlan_info="";   

+        

+    if(argc >1) 

     {

-        android::lynqAssemblyParcelheader(p,socket_id,pRI->uToken,LYNQ_REQUEST_SET_VLAN_INFO,0,2);

-        android::LYNQ_RIL_respSocket_sp(p,pRI);
-        free(pRI);
-        RLOGW("Warning: no %s!",__FUNCTION__);

-        return -1;
+        vlan_info=argv[1];      

     } 

 

-    if(exe_set_vlan_info(argv[1],strlen(argv[1])+1)==RESULT_OK)

+    if(exe_set_vlan_info(vlan_info,strlen(vlan_info)+1)==RESULT_OK)

     {

         android::lynqAssemblyParcelheader(p,socket_id,pRI->uToken,LYNQ_REQUEST_SET_VLAN_INFO,0,0);

-        RLOGD(">>>>%s<<<< success value is %s!\n", __FUNCTION__, argv[1]);

+        RLOGD(">>>>%s<<<< success value is %s!\n", __FUNCTION__, vlan_info);

     }

     else

     {

         android::lynqAssemblyParcelheader(p,socket_id,pRI->uToken,LYNQ_REQUEST_SET_VLAN_INFO,0,4);

-        RLOGE(">>>>%s <<<< failure value is %s!\n",__FUNCTION__, argv[1]);

+        RLOGE(">>>>%s <<<< failure value is %s!\n",__FUNCTION__, vlan_info);

     }       

 

     android::LYNQ_RIL_respSocket(p,(void *)pRI);  

diff --git a/common_src/lib/liblynq-call/lynq_call_rtp.cpp b/common_src/lib/liblynq-call/lynq_call_rtp.cpp
index 05b3032..092a85c 100755
--- a/common_src/lib/liblynq-call/lynq_call_rtp.cpp
+++ b/common_src/lib/liblynq-call/lynq_call_rtp.cpp
@@ -33,6 +33,17 @@
     return strndup16to8(s16, stringlen);

 }

 

+int is_whitespace_only(const char *str) {  

+    while (*str != '\0') {

+        if (!isspace((unsigned char)*str)) { 

+            return 0; 

+        }  

+        str++;

+    }  

+    return 1; 

+}  

+

+

 /*set*/

 int lynq_set_voice_audio_mode(const LYNQ_Audio_Mode audio_mode)

 {

@@ -62,9 +73,9 @@
         LYERRLOG("%s module state %d error",__func__,g_module_init_flag);

         return LYNQ_E_CONFLICT;

     }

-    if (NULL == ip)

+    if (NULL == ip || is_whitespace_only(ip))

     {

-        LYERRLOG("ip is NULL!!!");

+        LYERRLOG("ip is NULL or white space string !!!");

         return LYNQ_E_PARAMETER_ANONALY;

     }

     if ((ip_length < strlen(ip)+1) || (ip_length > MAX_IP_LENGTH))

@@ -94,15 +105,24 @@
         LYERRLOG("vlan_info is NULL!!!");

         return LYNQ_E_PARAMETER_ANONALY;

     }

-    

-    if ((vlan_info_length < strlen(vlan_info)+1) || (vlan_info_length > MAX_VLAN_INFO_LENGTH))

-    {

-        LYERRLOG("incoming vlan_info error, vlan info length %d", vlan_info_length);

-        return LYNQ_E_PARAMETER_ANONALY;

-    }    

 

     Parcel* p=NULL;

-    int ret=lynq_send_common_request(p,g_wait_time,LYNQ_REQUEST_SET_VLAN_INFO,1,"%s",vlan_info);

+    int ret;

+

+    if(is_whitespace_only(vlan_info))

+    {

+        ret=lynq_send_common_request(p,g_wait_time,LYNQ_REQUEST_SET_VLAN_INFO,0,"");    

+    }

+    else

+    {

+        if ((vlan_info_length < strlen(vlan_info)+1) || (vlan_info_length > MAX_VLAN_INFO_LENGTH))

+        {

+            LYERRLOG("incoming vlan_info error, vlan info length %d", vlan_info_length);

+            return LYNQ_E_PARAMETER_ANONALY;

+        }       

+        ret=lynq_send_common_request(p,g_wait_time,LYNQ_REQUEST_SET_VLAN_INFO,1,"%s",vlan_info);

+    }    

+    

     if(ret==RESULT_OK)

     {

         delete p;