Merge "[bugfix][T103-111]fix systime bug2" into SZZT
diff --git a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
index b3d98be..6494873 100755
--- a/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
+++ b/src/lynq/framework/lynq-atsvc/src/lynq_common.cpp
@@ -720,24 +720,8 @@
  * @brief auto_suspend
  * @param  argv        [Type]:in     My Param doc
  */
-static void auto_suspend(char *argv)
+static void auto_suspend(int argv)
 {
-    if(NULL == argv)
-    {
-        return;
-    }
-    #if 0
-    char buf[128] = {0};
-    char cmd[64] = {0};
-    sprintf(buf, "%s%s%s", "uci set lynq_uci.lynq_autosuspend.auto_enable=\'", argv, "\'");
-    system(buf);
-    system("commit");
-    system("systemctl stop autosuspend.service");
-    system("systemctl start autosuspend.service");
-    usleep(1000*100);
-    sprintf(cmd, "%s %s", "autosuspend-client-demo", argv);
-    system(cmd);
-    #endif
     pthread_t thid;
     pthread_attr_t a;
     pthread_attr_init(&a);
@@ -762,14 +746,14 @@
         lynq_switch_card("1");
     }
     /*If have two cards*/
-    if(!strcmp(argv,"1"))
+    if(argv==1)
     {
         //autosleep
         RLOGD("auto_suspend autosleep");
         system("echo mem > /sys/power/autosleep");
         
     }
-    else if (!strcmp(argv,"0"))
+    else if (argv==0)
     {
         //state
         RLOGD("state autosleep");
@@ -779,45 +763,6 @@
 }
 
 /**
- * @brief check_pin_level
- * @param  buf              Type:[in]
- * @param  flag             Type:[in]
- * @return int 
- */
-static int check_pin_level(char *buf, int flag)
-{
-    if(NULL == buf)
-    {
-        return -1;
-    }
-    if(flag > strlen(buf))
-    {
-        return -1;
-    }
-    char *p = buf;
-    int tmp = 0;
-    while(*p != '\0')
-    {
-        if(tmp != flag)
-        {
-            tmp++;
-            *p ++;
-        }
-        else
-        {
-            if(*p == '1')
-            {
-                return 0;
-            }
-            else
-            {
-                return 1;
-            }
-        }
-    }
-}
-
-/**
  * @brief check_dtr_level 0 is low, 1 is high
  * @return int 
  */
@@ -832,9 +777,14 @@
     {
         return -1;
     }
+    
     fgets(buf, sizeof(buf), fp);
-    //lynq_output_info("test: %c\n", buf[8]);
-    if(!check_pin_level(buf, 8))//mean high level
+    buf[31] = '\0';
+    if (strlen(buf) <= 8 ) {
+        return -1;
+    }
+    int i = 0;
+    if (buf[8] == '1')
     {
         pclose(fp);
         return 1;
@@ -903,6 +853,12 @@
     RLOGD("display_set_mode\n");
     if(!strcmp(argv[0], "CSCLK"))
     {
+        
+        if(argv[3] == NULL)
+        {
+            RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+            return;
+        }
         g_lynq_csclk = atoi(argv[3]);
         if(g_lynq_csclk == 1)
         {
@@ -914,17 +870,15 @@
             /*if dtr is 1, at+mpwrsm will't check dtr pin level*/
             RLOGD("dtr is 0, at+mpwrsm will't check dtr pin level\n");
         }
-        #if 0
-        else if(g_lynq_csclk == 2)
-        {
-            /*g_lynq_wakeup_in*/
-            g_lynq_wakeup_in = 1;
-        }
-        #endif
     }
     else if(!strcmp(argv[0], "MPWRSM"))
     {
         RLOGD("at+MPWRSM begin\n");
+        if(argv[3] == NULL)
+        {
+            RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+            return;
+        }
         g_lynq_mpwrsm = atoi(argv[3]);
         /*AT+MPWRSM state*/
         if(!strcmp(argv[3], "0"))
@@ -933,7 +887,7 @@
             {
                 /*quit sleep mode*/
                 syncRespToUsb(0);
-                auto_suspend(argv[3]);
+                auto_suspend(g_lynq_mpwrsm);
             }
             else if(g_lynq_csclk == 1)
             {
@@ -941,7 +895,7 @@
                 if(cat_pin_level("061"))//cat dtr pin level
                 {
                     syncRespToUsb(0);
-                    auto_suspend(argv[3]);
+                    auto_suspend(g_lynq_mpwrsm);
                     return;
                 }
                 else
@@ -959,7 +913,7 @@
             if(g_lynq_csclk == 0)
             {
                 RLOGD("g_lynq_csclk = 0, entry sleep mode, dont't check dtr pin level\n");
-                auto_suspend(argv[3]);
+                auto_suspend(g_lynq_mpwrsm);
                 syncRespToUsb(0);
                 return;
             }
@@ -970,7 +924,7 @@
                 /*check dtr level*/
                 if(cat_pin_level("061"))//cat dtr pin level
                 {
-                    auto_suspend(argv[3]);
+                    auto_suspend(g_lynq_mpwrsm);
                     syncRespToUsb(0);
                     return;
                 }
@@ -990,9 +944,15 @@
     }
     else if(!strcmp(argv[0], "MWAKEUPCFG"))
     {
+        if(argv[3] == NULL)
+        {
+            RLOGD("argv[3] == NULL __FUNCTION__ %s __LINE__ %d\n", __FUNCTION__, __LINE__);
+            return;
+        }
         g_lynq_mwakeupcfg = atoi(argv[3]);
     }
     syncRespToUsb(0);
+    return;
 }
 
 /**