Previously the --reconnect option was always ignored, so if the connection
to the broker was lost it would never be re-established.
Signed-off-by: Zane Bitter <zbitter(a)redhat.com>
---
src/lib/mh_agent.cpp | 7 +++----
1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/src/lib/mh_agent.cpp b/src/lib/mh_agent.cpp
index 3353335..dfb4efe 100644
--- a/src/lib/mh_agent.cpp
+++ b/src/lib/mh_agent.cpp
@@ -158,10 +158,9 @@ connection_option(int code, const char *name, const char *arg, void *userdata)
options->insert(std::pair<std::string, qpid::types::Variant>("sasl-mechanism", "GSSAPI"));
} else if(strcmp(name, "reconnect") == 0) {
- if(arg && strcmp(arg, "no") == 0) {
- options->insert(std::pair<std::string, qpid::types::Variant>("reconnect", false));
- }
-
+ bool reconnect = !arg || (strcasecmp(arg, "no") != 0 &&
+ strcasecmp(arg, "false") != 0);
+ (*options)["reconnect"] = reconnect;
} else {
options->insert(std::pair<std::string, qpid::types::Variant>(name, arg));
}