client->session->message_callback = client_message_handler;
client->error = 0;
+ client->host = strdup(server);
return client;
}
const char* username, const char* password, const char* resource,
int connect_timeout, enum TRANSPORT_AUTH_TYPE auth_type ) {
if(client == NULL) return 0;
+ client->xmpp_id = va_list_to_string("%s@%s/%s", username, client->host, resource);
return session_connect( client->session, username,
password, resource, connect_timeout, auth_type );
}
int client_send_message( transport_client* client, transport_message* msg ) {
if(client == NULL) return 0;
if( client->error ) return -1;
+ msg->sender = strdup(client->xmpp_id); // free'd in message_free
return session_send_msg( client->session, msg );
}
current = next;
}
+ free(client->host);
+ free(client->xmpp_id);
free( client );
return 1;
}