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