conn: unify error codes for API functions

Return error code from strophe.h instead of -1.
This commit is contained in:
Dmitry Podgorny
2016-09-02 00:30:22 +03:00
parent dc56737b71
commit 2bff3f8722

View File

@@ -176,7 +176,7 @@ xmpp_conn_t *xmpp_conn_new(xmpp_ctx_t * const ctx)
* @param conn a Strophe connection object * @param conn a Strophe connection object
* *
* @return the same conn object passed in with its reference count * @return the same conn object passed in with its reference count
* incremented by 1 * incremented by 1
* *
* @ingroup Connections * @ingroup Connections
*/ */
@@ -417,7 +417,7 @@ xmpp_ctx_t* xmpp_conn_get_context(xmpp_conn_t * const conn)
* notifications of connection status * notifications of connection status
* @param userdata an opaque data pointer that will be passed to the callback * @param userdata an opaque data pointer that will be passed to the callback
* *
* @return 0 on success and -1 on an error * @return XMPP_EOK (0) on success or a number less than 0 on failure
* *
* @ingroup Connections * @ingroup Connections
*/ */
@@ -436,7 +436,7 @@ int xmpp_connect_client(xmpp_conn_t * const conn,
int rc; int rc;
domain = xmpp_jid_domain(conn->ctx, conn->jid); domain = xmpp_jid_domain(conn->ctx, conn->jid);
if (!domain) return -1; if (!domain) return XMPP_EMEM;
if (altdomain != NULL) { if (altdomain != NULL) {
xmpp_debug(conn->ctx, "xmpp", "Connecting via altdomain."); xmpp_debug(conn->ctx, "xmpp", "Connecting via altdomain.");
@@ -495,7 +495,7 @@ int xmpp_connect_client(xmpp_conn_t * const conn,
* notifications of connection status * notifications of connection status
* @param userdata an opaque data pointer that will be passed to the callback * @param userdata an opaque data pointer that will be passed to the callback
* *
* @return 0 on success and -1 on an error * @return XMPP_EOK (0) on success or a number less than 0 on failure
* *
* @ingroup Connections * @ingroup Connections
*/ */
@@ -504,14 +504,14 @@ int xmpp_connect_component(xmpp_conn_t * const conn, const char * const server,
void * const userdata) void * const userdata)
{ {
/* The server domain, jid and password MUST be specified. */ /* The server domain, jid and password MUST be specified. */
if (!(server && conn->jid && conn->pass)) return -1; if (!(server && conn->jid && conn->pass)) return XMPP_EINVOP;
/* XEP-0114 does not support TLS */ /* XEP-0114 does not support TLS */
xmpp_conn_disable_tls(conn); xmpp_conn_disable_tls(conn);
if (!conn->tls_disabled) { if (!conn->tls_disabled) {
xmpp_error(conn->ctx, "conn", "Failed to disable TLS. " xmpp_error(conn->ctx, "conn", "Failed to disable TLS. "
"XEP-0114 does not support TLS"); "XEP-0114 does not support TLS");
return -1; return XMPP_EINT;
} }
port = port ? port : _conn_default_port(conn, XMPP_COMPONENT); port = port ? port : _conn_default_port(conn, XMPP_COMPONENT);
@@ -897,7 +897,7 @@ long xmpp_conn_get_flags(const xmpp_conn_t * const conn)
* @param conn a Strophe connection object * @param conn a Strophe connection object
* @param flags ORed connection flags * @param flags ORed connection flags
* *
* @return 0 on success or -1 if flags can't be applied. * @return XMPP_EOK (0) on success or a number less than 0 on failure
* *
* @ingroup Connections * @ingroup Connections
*/ */
@@ -906,12 +906,12 @@ int xmpp_conn_set_flags(xmpp_conn_t * const conn, long flags)
if (conn->state != XMPP_STATE_DISCONNECTED) { if (conn->state != XMPP_STATE_DISCONNECTED) {
xmpp_error(conn->ctx, "conn", "Flags can be set only " xmpp_error(conn->ctx, "conn", "Flags can be set only "
"for disconnected connection"); "for disconnected connection");
return -1; return XMPP_EINVOP;
} }
if (flags & XMPP_CONN_FLAG_DISABLE_TLS && if (flags & XMPP_CONN_FLAG_DISABLE_TLS &&
flags & (XMPP_CONN_FLAG_MANDATORY_TLS | XMPP_CONN_FLAG_LEGACY_SSL)) { flags & (XMPP_CONN_FLAG_MANDATORY_TLS | XMPP_CONN_FLAG_LEGACY_SSL)) {
xmpp_error(conn->ctx, "conn", "Flags 0x%04lx conflict", flags); xmpp_error(conn->ctx, "conn", "Flags 0x%04lx conflict", flags);
return -1; return XMPP_EINVOP;
} }
conn->tls_disabled = (flags & XMPP_CONN_FLAG_DISABLE_TLS) ? 1 : 0; conn->tls_disabled = (flags & XMPP_CONN_FLAG_DISABLE_TLS) ? 1 : 0;
@@ -1114,19 +1114,19 @@ static int _conn_connect(xmpp_conn_t * const conn,
{ {
xmpp_open_handler open_handler; xmpp_open_handler open_handler;
if (conn->state != XMPP_STATE_DISCONNECTED) return -1; if (conn->state != XMPP_STATE_DISCONNECTED) return XMPP_EINVOP;
if (type != XMPP_CLIENT && type != XMPP_COMPONENT) return -1; if (type != XMPP_CLIENT && type != XMPP_COMPONENT) return XMPP_EINVOP;
_conn_reset(conn); _conn_reset(conn);
conn->type = type; conn->type = type;
conn->domain = xmpp_strdup(conn->ctx, domain); conn->domain = xmpp_strdup(conn->ctx, domain);
if (!conn->domain) return -1; if (!conn->domain) return XMPP_EMEM;
conn->sock = sock_connect(host, port); conn->sock = sock_connect(host, port);
xmpp_debug(conn->ctx, "xmpp", "sock_connect() to %s:%u returned %d", xmpp_debug(conn->ctx, "xmpp", "sock_connect() to %s:%u returned %d",
host, port, conn->sock); host, port, conn->sock);
if (conn->sock == -1) return -1; if (conn->sock == -1) return XMPP_EINT;
if (conn->ka_timeout || conn->ka_interval) if (conn->ka_timeout || conn->ka_interval)
sock_set_keepalive(conn->sock, conn->ka_timeout, conn->ka_interval); sock_set_keepalive(conn->sock, conn->ka_timeout, conn->ka_interval);