summaryrefslogtreecommitdiff
path: root/net.c
diff options
context:
space:
mode:
Diffstat (limited to 'net.c')
-rw-r--r--net.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/net.c b/net.c
index a3e30a3..9fa5df4 100644
--- a/net.c
+++ b/net.c
@@ -222,13 +222,14 @@ void net_disconnect(void) {
void net_send_message(const char* sender, const char* content,
const char* recipient) {
- // TODO what happens if client is disconnected and this function is called?
-
- char* uuid = xmpp_uuid_gen(ctx);
-
- xmpp_stanza_t* msg = xmpp_message_new(ctx, "chat", recipient, uuid);
- xmpp_stanza_set_from(msg, sender);
- xmpp_message_set_body(msg, content);
- xmpp_send(conn, msg);
+ if (xmpp_conn_is_connected(conn)) {
+ char* uuid = xmpp_uuid_gen(ctx);
+ xmpp_stanza_t* msg = xmpp_message_new(ctx, "chat", recipient, uuid);
+ xmpp_stanza_set_from(msg, sender);
+ xmpp_message_set_body(msg, content);
+ xmpp_send(conn, msg);
+ } else {
+ fprintf(stderr, "net_send_message() called while not connected\n");
+ }
}