summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSjoerd Simons <sjoerd@luon.net>2006-05-30 15:34:10 +0000
committerSjoerd Simons <sjoerd@luon.net>2006-05-30 15:34:10 +0000
commit435c7af9b605c3ffc8641142b6d7add18bf7080b (patch)
tree2648f711564f9ebaca3c31df7c7b93a5c8c45b04
parent26ab02e91671548e2b55a16bb953b3d9e0a82497 (diff)
* dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
clear: "Failed to connect to socket <host>:<port> <error>" instead of "Failed to connect to socket <host>: <error>:<port>" * dbus/dbus-transport-unix.c: Fix crash when no host option is given for a tcp transport.
-rw-r--r--ChangeLog10
-rw-r--r--dbus/dbus-sysdeps.c4
-rw-r--r--dbus/dbus-transport-unix.c25
3 files changed, 28 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index d49cdc8f..4c72e181 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2006-05-30 Sjoerd Simons <sjoerd@luon.net>
+
+ * dbus/dbus-sysdeps.c: Make tcp socket connection error somewhat more
+ clear:
+ "Failed to connect to socket <host>:<port> <error>" instead of
+ "Failed to connect to socket <host>: <error>:<port>"
+
+ * dbus/dbus-transport-unix.c: Fix crash when no host option is given
+ for a tcp transport.
+
2006-05-29 Thiago Macieira <thiago.macieira@trolltech.com>
* qt/*: Update the QtDBus bindings up to revision 546310 in
diff --git a/dbus/dbus-sysdeps.c b/dbus/dbus-sysdeps.c
index e8bd9b71..e935dfa9 100644
--- a/dbus/dbus-sysdeps.c
+++ b/dbus/dbus-sysdeps.c
@@ -678,8 +678,8 @@ _dbus_connect_tcp_socket (const char *host,
{
dbus_set_error (error,
_dbus_error_from_errno (errno),
- "Failed to connect to socket %s: %s:%d",
- host, _dbus_strerror (errno), port);
+ "Failed to connect to socket %s:%d %s",
+ host, port, _dbus_strerror (errno));
close (fd);
fd = -1;
diff --git a/dbus/dbus-transport-unix.c b/dbus/dbus-transport-unix.c
index f88a45bc..39216cab 100644
--- a/dbus/dbus-transport-unix.c
+++ b/dbus/dbus-transport-unix.c
@@ -1272,16 +1272,18 @@ _dbus_transport_new_for_tcp_socket (const char *host,
return NULL;
}
- if (!_dbus_string_append (&address, "tcp:host=") ||
- !_dbus_string_append (&address, host) ||
- !_dbus_string_append (&address, ",port=") ||
+ if (!_dbus_string_append (&address, "tcp:"))
+ goto error;
+
+ if (host != NULL &&
+ (!_dbus_string_append (&address, "host=") ||
+ !_dbus_string_append (&address, host)))
+ goto error;
+
+ if (!_dbus_string_append (&address, ",port=") ||
!_dbus_string_append_int (&address, port))
- {
- _dbus_string_free (&address);
- dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
- return NULL;
- }
-
+ goto error;
+
fd = _dbus_connect_tcp_socket (host, port, error);
if (fd < 0)
{
@@ -1307,6 +1309,11 @@ _dbus_transport_new_for_tcp_socket (const char *host,
_dbus_string_free (&address);
return transport;
+
+error:
+ _dbus_string_free (&address);
+ dbus_set_error (error, DBUS_ERROR_NO_MEMORY, NULL);
+ return NULL;
}
/** @} */