From 490948a0d52a3ad7b3f94525a982fc7012d06011 Mon Sep 17 00:00:00 2001
From: fujuntang <fujuntang@smartai.com>
Date: 星期二, 30 十一月 2021 08:35:51 +0800
Subject: [PATCH] Fix the topic parsing issue.

---
 src/socket/bus_server_socket.cpp |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/socket/bus_server_socket.cpp b/src/socket/bus_server_socket.cpp
index ef1321e..2cd1ca8 100644
--- a/src/socket/bus_server_socket.cpp
+++ b/src/socket/bus_server_socket.cpp
@@ -204,7 +204,7 @@
 	int rv;
 	struct timespec timeout = {1,0};
 
-	if( (map_iter = topic_sub_map->find(topic) ) != topic_sub_map->end()) {
+    if( (map_iter = topic_sub_map->find(topic) ) != topic_sub_map->end()) {
 
 		subscripter_set = map_iter->second;
 		for(set_iter = subscripter_set->begin(); set_iter != subscripter_set->end(); ++set_iter) {
@@ -587,6 +587,7 @@
     strncpy(buf_temp, topic, topic_size > (sizeof(buf_temp) - 1) ? (sizeof(buf_temp) - 1) : topic_size); 
     data_ptr = strtok(const_cast<char *>(buf_temp), STR_MAGIC);
     while(data_ptr) {
+      data_ptr = trim(data_ptr, 0);
       TcsSub_ele->insert(data_ptr);
       if ((svr_tcs_iter = SvrData->find(data_ptr)) != SvrData->end()) {
         SvrSub_ele = svr_tcs_iter->second;
@@ -616,6 +617,7 @@
     strncpy(buf_temp, topic, topic_size > (sizeof(buf_temp) - 1) ? (sizeof(buf_temp) - 1) : topic_size);
     data_ptr = strtok(const_cast<char *>(buf_temp), STR_MAGIC);
     while(data_ptr) {
+      data_ptr = trim(data_ptr, 0);
       ret = Qurey_object(data_ptr, &len);
       if (ret != NULL) {
     
@@ -701,7 +703,7 @@
     ProcZone *proc = shm_mm_attach<ProcZone>(SHM_BUS_PROC_MAP_KEY);
 
     strncpy(buf_temp, topic, topic_size > (sizeof(buf_temp) - 1) ? (sizeof(buf_temp) - 1) : topic_size);
-    if ((svr_tcs_iter = SvrData->find(buf_temp)) != SvrData->end()) {
+    if ((svr_tcs_iter = SvrData->find(trim(buf_temp, 0))) != SvrData->end()) {
       SvrSub_ele = svr_tcs_iter->second;
     
       for(svr_proc_iter = SvrSub_ele->begin(); svr_proc_iter != SvrSub_ele->end(); ++svr_proc_iter) { 

--
Gitblit v1.8.0