Merge "fix_sms_maxlen" into mbtk_source_v2
diff --git a/mbtk/mbtk_logd/alog_read.c b/mbtk/mbtk_logd/alog_read.c
index 161c5ab..cfd2c6d 100755
--- a/mbtk/mbtk_logd/alog_read.c
+++ b/mbtk/mbtk_logd/alog_read.c
@@ -60,7 +60,10 @@
 int tcp_connect(char* ip, int port);
 
 extern int tmp_rd_fd;
-extern char radiolog_buff[MAX_BUFFER_SIZE];
+//extern char radiolog_buff[MAX_BUFFER_SIZE];
+extern char *radio_globalPtr;
+extern int radio_len;
+
 
 void hex_print(char* buf, int len)
 {
@@ -219,7 +222,7 @@
 
     static char buffer[MAX_BUFFER_SIZE] = {0};
     static int buffer_index = 0;
-
+    radio_globalPtr = buffer;
     
     if(fcntl(fd_radio, F_GETFL) == -1 || access(tmp_log, W_OK) != 0)
     {
@@ -283,7 +286,7 @@
     {
         memcpy(buffer + buffer_index, defaultBuffer, totalLen);
         buffer_index += totalLen;
-        memcpy(radiolog_buff,buffer,buffer_index);
+        //memcpy(radiolog_buff,buffer,buffer_index);
     }
 
 
diff --git a/mbtk/mbtk_logd/main.c b/mbtk/mbtk_logd/main.c
index 71bc1f6..4cd4888 100755
--- a/mbtk/mbtk_logd/main.c
+++ b/mbtk/mbtk_logd/main.c
@@ -38,29 +38,40 @@
 int tmp_syslog_fd = -1;
 int tmp_rd_fd = -1;
 
-char syslog_buff[MAX_BUFFER_SIZE] = {0};
-char radiolog_buff[MAX_BUFFER_SIZE] = {0};
+//char syslog_buff[MAX_BUFFER_SIZE] = {0};
+//char radiolog_buff[MAX_BUFFER_SIZE] = {0};
 
+char *radio_globalPtr = NULL;
+char *sys_globalPtr = NULL;
+
+int radio_len = 0;
+int sys_len = 0;
 
 static void signal_handler(int signum)
 {
     printf("Received SIGTERM signal, fflush buffer");
-    if(fcntl(tmp_syslog_fd, F_GETFL) != -1 && strlen(syslog_buff) > 0)
+    if(fcntl(tmp_syslog_fd, F_GETFL) != -1 && sys_globalPtr !=NULL )
     {
-        if(write(tmp_syslog_fd, syslog_buff, strlen(syslog_buff)) < 0)
+        if(write(tmp_syslog_fd, sys_globalPtr, sys_len) < 0)
         {
             perror("write error");
         }
-        memset(syslog_buff,0,MAX_BUFFER_SIZE);
+       // memset(syslog_buff,0,MAX_BUFFER_SIZE);
+       memset(sys_globalPtr, 0, MAX_BUFFER_SIZE); 
+       sys_globalPtr =NULL;
     }
 
-    if(fcntl(tmp_rd_fd, F_GETFL) != -1 && strlen(radiolog_buff) > 0)
+    if(fcntl(tmp_rd_fd, F_GETFL) != -1 && radio_globalPtr !=NULL)
     {
-        if(write(tmp_rd_fd, radiolog_buff, strlen(radiolog_buff)) < 0)
+        if(write(tmp_rd_fd, radio_globalPtr, radio_len) < 0)
         {
             perror("write error");
         }
-        memset(radiolog_buff,0,MAX_BUFFER_SIZE);
+        
+        //memset(radiolog_buff,0,MAX_BUFFER_SIZE);
+        memset(radio_globalPtr, 0, MAX_BUFFER_SIZE); 
+        radio_globalPtr =NULL;
+        
     }
 
 }
diff --git a/mbtk/mbtk_logd/syslog_read.c b/mbtk/mbtk_logd/syslog_read.c
index 36df306..04bedb0 100755
--- a/mbtk/mbtk_logd/syslog_read.c
+++ b/mbtk/mbtk_logd/syslog_read.c
@@ -68,7 +68,11 @@
 #define    MAX_BUFFER_SIZE (8*1024)
 
 extern int tmp_syslog_fd;
-extern char syslog_buff[MAX_BUFFER_SIZE];
+//extern char syslog_buff[MAX_BUFFER_SIZE];
+
+extern char *sys_globalPtr;
+extern int sys_len;
+
 
 static const struct blobmsg_policy log_policy[] = {
 	[LOG_MSG] = { .name = "msg", .type = BLOBMSG_TYPE_STRING },
@@ -191,7 +195,9 @@
 
     static char buffer[MAX_BUFFER_SIZE] = {0};
     static int buffer_index = 0;
-
+    
+    sys_globalPtr = buffer;
+    
 	//
 	//sprintf(tmp_buf, "/tmp/log%s", strstr_tail(log_file, "/"));
 
@@ -301,7 +307,8 @@
         {
             memcpy(buffer + buffer_index, buf, len);
             buffer_index += len;
-            memcpy(syslog_buff,buffer,buffer_index);
+            sys_len = buffer_index;
+            //memcpy(syslog_buff,buffer,buffer_index);
         }