DISPATCH-390: refactor - failover_list() use qd_error() for errors
Project: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/repo Commit: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/commit/99ef0a77 Tree: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/tree/99ef0a77 Diff: http://git-wip-us.apache.org/repos/asf/qpid-dispatch/diff/99ef0a77 Branch: refs/heads/master Commit: 99ef0a77abae1d75f4f11cb9c0dfa7ef48d04606 Parents: 56e2845 Author: Alan Conway <[email protected]> Authored: Thu Mar 23 16:32:23 2017 -0400 Committer: Alan Conway <[email protected]> Committed: Tue Apr 25 18:13:59 2017 -0400 ---------------------------------------------------------------------- include/qpid/dispatch/failoverlist.h | 4 +++- src/connection_manager.c | 9 ++++----- src/failoverlist.c | 13 ++++++++----- tests/failoverlist_test.c | 18 +++++++----------- 4 files changed, 22 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/99ef0a77/include/qpid/dispatch/failoverlist.h ---------------------------------------------------------------------- diff --git a/include/qpid/dispatch/failoverlist.h b/include/qpid/dispatch/failoverlist.h index 1fb0c97..c9e6fb5 100644 --- a/include/qpid/dispatch/failoverlist.h +++ b/include/qpid/dispatch/failoverlist.h @@ -38,8 +38,10 @@ typedef struct qd_failover_list_t qd_failover_list_t; * * If scheme is not supplied, it defaults to _not present_. * If port is not specified, it defaults to "5672". + * + * Sets qd_error() if text cannot be parsed. */ -qd_failover_list_t *qd_failover_list(const char *text, const char **error); +qd_failover_list_t *qd_failover_list(const char *text); /** * qd_failover_list_free http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/99ef0a77/src/connection_manager.c ---------------------------------------------------------------------- diff --git a/src/connection_manager.c b/src/connection_manager.c index a68d6e0..8957185 100644 --- a/src/connection_manager.c +++ b/src/connection_manager.c @@ -521,7 +521,6 @@ static void config_listener_free(qd_connection_manager_t *cm, qd_config_listener qd_config_listener_t *qd_dispatch_configure_listener(qd_dispatch_t *qd, qd_entity_t *entity) { - qd_error_clear(); qd_connection_manager_t *cm = qd->connection_manager; qd_config_listener_t *cl = NEW(qd_config_listener_t); cl->listener = 0; @@ -533,16 +532,16 @@ qd_config_listener_t *qd_dispatch_configure_listener(qd_dispatch_t *qd, qd_entit } char *fol = qd_entity_opt_string(entity, "failoverList", 0); if (fol) { - const char *fol_error = 0; - cl->configuration.failover_list = qd_failover_list(fol, &fol_error); + cl->configuration.failover_list = qd_failover_list(fol); free(fol); if (cl->configuration.failover_list == 0) { - qd_log(cm->log_source, QD_LOG_ERROR, "Error parsing failover list: %s", fol_error); + qd_log(cm->log_source, QD_LOG_ERROR, "Error parsing failover list: %s", qd_error_message()); config_listener_free(qd->connection_manager, cl); return 0; } - } else + } else { cl->configuration.failover_list = 0; + } DEQ_ITEM_INIT(cl); DEQ_INSERT_TAIL(cm->config_listeners, cl); log_config(cm->log_source, &cl->configuration, "Listener"); http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/99ef0a77/src/failoverlist.c ---------------------------------------------------------------------- diff --git a/src/failoverlist.c b/src/failoverlist.c index e83f029..f350c1a 100644 --- a/src/failoverlist.c +++ b/src/failoverlist.c @@ -19,6 +19,7 @@ #include <qpid/dispatch/failoverlist.h> #include <qpid/dispatch/ctools.h> +#include <qpid/dispatch/error.h> #include <ctype.h> #include <string.h> @@ -62,15 +63,17 @@ static char *qd_fol_next(char *text, const char *separator) } -static qd_failover_item_t *qd_fol_item(char *text, const char **error) +/* Sets qd_error if there is an error */ +static qd_failover_item_t *qd_fol_item(char *text) { + qd_error_clear(); char *after_scheme = qd_fol_next(text, "://"); char *scheme = after_scheme ? text : 0; char *host = after_scheme ? after_scheme : text; char *port = qd_fol_next(host, ":"); if (strlen(host) == 0) { - *error = "No network host in failover item"; + qd_error(QD_ERROR_VALUE, "No network host in failover item"); return 0; } @@ -84,12 +87,12 @@ static qd_failover_item_t *qd_fol_item(char *text, const char **error) } -qd_failover_list_t *qd_failover_list(const char *text, const char **error) +qd_failover_list_t *qd_failover_list(const char *text) { qd_failover_list_t *list = NEW(qd_failover_list_t); ZERO(list); - *error = 0; + qd_error_clear(); list->text = (char*) malloc(strlen(text) + 1); strcpy(list->text, text); @@ -98,7 +101,7 @@ qd_failover_list_t *qd_failover_list(const char *text, const char **error) char *next; do { next = qd_fol_next(cursor, ","); - qd_failover_item_t *item = qd_fol_item(cursor, error); + qd_failover_item_t *item = qd_fol_item(cursor); if (item == 0) { qd_failover_list_free(list); return 0; http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/99ef0a77/tests/failoverlist_test.c ---------------------------------------------------------------------- diff --git a/tests/failoverlist_test.c b/tests/failoverlist_test.c index 62544c1..0a645d0 100644 --- a/tests/failoverlist_test.c +++ b/tests/failoverlist_test.c @@ -29,8 +29,7 @@ static char *test_failover_list_empty(void *unused) { - static char *error; - qd_failover_list_t *list = qd_failover_list("", (const char**) &error); + qd_failover_list_t *list = qd_failover_list(""); if (list != 0) { qd_failover_list_free(list); return "Expected parse failure"; @@ -41,10 +40,9 @@ static char *test_failover_list_empty(void *unused) static char *test_failover_list_single(void *unused) { - char *error; char *fail = 0; - - qd_failover_list_t *list = qd_failover_list("host1", (const char**) &error); + + qd_failover_list_t *list = qd_failover_list("host1"); if (qd_failover_list_size(list) != 1) { fail = "1:Expected list size of 1"; } else if (qd_failover_list_scheme(list, 0) != 0) { @@ -60,7 +58,7 @@ static char *test_failover_list_single(void *unused) if (fail) return fail; - list = qd_failover_list("amqps://host2", (const char**) &error); + list = qd_failover_list("amqps://host2"); if (qd_failover_list_size(list) != 1) { fail = "2:Expected list size of 1"; } else if (strcmp(qd_failover_list_scheme(list, 0), "amqps")) { @@ -76,7 +74,7 @@ static char *test_failover_list_single(void *unused) if (fail) return fail; - list = qd_failover_list("host3:10000", (const char**) &error); + list = qd_failover_list("host3:10000"); if (qd_failover_list_size(list) != 1) { fail = "3:Expected list size of 1"; } else if (qd_failover_list_scheme(list, 0) != 0) { @@ -92,7 +90,7 @@ static char *test_failover_list_single(void *unused) if (fail) return fail; - list = qd_failover_list("amqp://host4:15000", (const char**) &error); + list = qd_failover_list("amqp://host4:15000"); if (qd_failover_list_size(list) != 1) { fail = "4:Expected list size of 1"; } else if (strcmp(qd_failover_list_scheme(list, 0), "amqp")) { @@ -111,10 +109,8 @@ static char *test_failover_list_single(void *unused) static char *test_failover_list_multiple(void *unused) { - char *error; char *fail = 0; - - qd_failover_list_t *list = qd_failover_list("host1,amqps://host2 , host3:10000, amqp://host4:15000", (const char**) &error); + qd_failover_list_t *list = qd_failover_list("host1,amqps://host2 , host3:10000, amqp://host4:15000"); if (qd_failover_list_size(list) != 4) { fail = "1:Expected list size of 4"; } else if (qd_failover_list_scheme(list, 0) != 0) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
