--- a/src/transport.c Thu May 07 02:49:49 2009 +0300
+++ b/src/transport.c Thu May 07 02:57:11 2009 +0300
@@ -35,21 +35,24 @@
{
const struct transport_type *type = object_type(&transport->base_obj, &transport_type_type);
- // update state
- transport->connected = true;
-
if (direct || !type->methods._connected) {
// user callback
- if (err)
+ if (err) {
// connect failed
transport->info.cb_tbl->on_error(transport, err, transport->info.cb_arg);
- else
+
+ } else {
+ // update state
+ transport->connected = true;
+
// connect succesfull
transport->info.cb_tbl->on_connect(transport, transport->info.cb_arg);
+ }
} else {
// wrapper method
type->methods._connected(transport, err);
+
}
}