You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ac...@apache.org on 2017/04/25 22:25:00 UTC
[2/6] qpid-dispatch git commit: DISPATCH-390: refactor -
failover_list() use qd_error() for errors
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 <ac...@redhat.com>
Authored: Thu Mar 23 16:32:23 2017 -0400
Committer: Alan Conway <ac...@redhat.com>
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: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org