fujuntang
2021-11-30 490948a0d52a3ad7b3f94525a982fc7012d06011
Fix the topic parsing issue.
2个文件已修改
7 ■■■■ 已修改文件
src/socket/bus_server_socket.cpp 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/socket/shm_mod_socket.cpp 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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) { 
src/socket/shm_mod_socket.cpp
@@ -301,6 +301,7 @@
int  ShmModSocket::pub(const char *topic, int topic_size, const void *content, int content_size, int key, const struct timespec *timeout, int flags) {
    int ret;
    bus_head_t head = {};
    topic = trim(const_cast<char *>(topic), 0);
    memcpy(head.action, "pub", sizeof(head.action));
    head.topic_size = topic_size = strlen(topic) + 1;
    head.content_size = content_size;