Author: rhs
Date: Wed Oct 3 19:06:23 2012
New Revision: 1393683
URL: http://svn.apache.org/viewvc?rev=1393683&view=rev
Log:
default port based on scheme
Modified:
qpid/proton/trunk/proton-c/src/messenger.c
Modified: qpid/proton/trunk/proton-c/src/messenger.c
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/messenger.c?rev=1393683&r1=1393682&r2=1393683&view=diff
==============================================================================
--- qpid/proton/trunk/proton-c/src/messenger.c (original)
+++ qpid/proton/trunk/proton-c/src/messenger.c Wed Oct 3 19:06:23 2012
@@ -372,6 +372,14 @@ bool pn_streq(const char *a, const char
return a == b || (a && b && !strcmp(a, b));
}
+static const char *default_port(const char *scheme)
+{
+ if (scheme && pn_streq(scheme, "amqps"))
+ return "5671";
+ else
+ return "5672";
+}
+
pn_connection_t *pn_messenger_resolve(pn_messenger_t *messenger, char
*address, char **name)
{
char *scheme = NULL;
@@ -404,7 +412,9 @@ pn_connection_t *pn_messenger_resolve(pn
ctor = pn_connector_next(ctor);
}
- pn_connector_t *connector = pn_connector(messenger->driver, host, port ?
port : "5672", NULL);
+ pn_connector_t *connector = pn_connector(messenger->driver, host,
+ port ? port : default_port(scheme),
+ NULL);
if (!connector) return NULL;
pn_transport_t *transport = pn_connector_transport(connector);
if (scheme && !strcmp(scheme, "amqps")) {
@@ -496,13 +506,15 @@ int pn_messenger_subscribe(pn_messenger_
char *user = NULL;
char *pass = NULL;
char *host = "0.0.0.0";
- char *port = "5672";
+ char *port = NULL;
char *path = NULL;
parse_url(copy, &scheme, &user, &pass, &host, &port, &path);
if (host[0] == '~') {
- pn_listener_t *lnr = pn_listener(messenger->driver, host + 1, port,
pn_strdup(scheme));
+ pn_listener_t *lnr = pn_listener(messenger->driver, host + 1,
+ port ? port : default_port(scheme),
+ pn_strdup(scheme));
if (lnr) {
return 0;
} else {
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]