From 16935f4aebffdd1b6580b844391a0aa0f4f3012b Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期一, 22 四月 2024 10:29:12 +0800 Subject: [PATCH] bug fixed --- src/bn_api.cpp | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/bn_api.cpp b/src/bn_api.cpp index 50aec06..0b39f61 100644 --- a/src/bn_api.cpp +++ b/src/bn_api.cpp @@ -97,7 +97,7 @@ if (!topics || topics_len <= 0) return false; const auto& url = get_url(URLRegTopic); - if (url.empty()) { + if (!url) { set_last_error("BHRegisterTopics url empty"); return false; } @@ -136,7 +136,7 @@ if (!topic || topic_len <= 0) return false; const auto& url = get_url(URLQueryTopic); - if (url.empty()) { + if (!url) { set_last_error("BHQueryTopicAddress url empty"); return false; } @@ -165,7 +165,7 @@ // if (!query || query_len <= 0) return false; const auto& url = get_url(URLQueryProcs); - if (url.empty()) { + if (!url) { set_last_error("BHQueryProcs url empty"); return false; } @@ -247,7 +247,7 @@ int BHSubscribeTopics(const void *topics, const int topics_len, void **reply, int *reply_len, const int timeout_ms) { const auto& url = get_url(URLSubLocal); - if (url.empty()) { + if (!url) { set_last_error("BHSubscribeTopics url empty"); return false; } @@ -257,7 +257,7 @@ int BHSubscribeNetTopics(const void *topics, const int topics_len, void **reply, int *reply_len, const int timeout_ms) { const auto& url = get_url(URLSubNet); - if (url.empty()) { + if (!url) { set_last_error("BHSubscribeNetTopics url empty"); return false; } @@ -272,6 +272,9 @@ int *msgpub_len, const int timeout_ms) { + if (!proc_id && !proc_id_len && !msgpub && !msgpub_len) + return subscribe_read(NULL, NULL, timeout_ms) == 0; + string topic, msg; auto ret = subscribe_read(&topic, &msg, timeout_ms); // printf("BHReadSub msg topic %s length %lu\n", topic.c_str(), msg.length()); @@ -391,6 +394,9 @@ void **src, const int timeout_ms) { + if (!proc_id && !proc_id_len && !request && !request_len && !src) + return read_request(NULL, NULL, timeout_ms) == 0; + string msg; auto ret = read_request(src, &msg, timeout_ms); if (ret < 0) return false; -- Gitblit v1.8.0