about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
authorJames Booth <boothj5@gmail.com>2015-10-12 23:37:11 +0100
committerJames Booth <boothj5@gmail.com>2015-10-12 23:37:11 +0100
commit6e28df66e89943e42243d0a36734b7b7b5310c2f (patch)
tree356e84cb7f2745f54deae03f62756131b4b1bf66 /src
parentde15d47be4bb43f039a27bbd39dc41fd7e10ad59 (diff)
downloadprofani-tty-6e28df66e89943e42243d0a36734b7b7b5310c2f.tar.gz
Use libstrophe/libmesode uuid generator
Diffstat (limited to 'src')
-rw-r--r--src/command/commands.c11
-rw-r--r--src/xmpp/connection.c14
-rw-r--r--src/xmpp/xmpp.h2
3 files changed, 19 insertions, 8 deletions
diff --git a/src/command/commands.c b/src/command/commands.c
index eb4aa03f..7df1477a 100644
--- a/src/command/commands.c
+++ b/src/command/commands.c
@@ -38,7 +38,6 @@
 #include <stdlib.h>
 #include <errno.h>
 #include <assert.h>
-#include <uuid/uuid.h>
 #include <glib.h>
 
 #include "chat_session.h"
@@ -2267,22 +2266,18 @@ cmd_join(ProfWin *window, const char * const command, gchar **args)
     }
 
     if (args[0] == NULL) {
-        uuid_t uuid;
-        uuid_generate(uuid);
-        char *uuid_str = malloc(sizeof(char) * 37);
-        uuid_unparse_lower(uuid, uuid_str);
-
         char *account_name = jabber_get_account_name();
         ProfAccount *account = accounts_get_account(account_name);
 
         GString *room_str = g_string_new("");
-        g_string_append_printf(room_str, "private-chat-%s@%s", uuid_str, account->muc_service);
+        char *uuid = jabber_create_uuid();
+        g_string_append_printf(room_str, "private-chat-%s@%s", uuid, account->muc_service);
+        jabber_free_uuid(uuid);
 
         presence_join_room(room_str->str, account->muc_nick, NULL);
         muc_join(room_str->str, account->muc_nick, NULL, FALSE);
 
         g_string_free(room_str, TRUE);
-        free(uuid_str);
         account_free(account);
 
         return TRUE;
diff --git a/src/xmpp/connection.c b/src/xmpp/connection.c
index abc08732..5ad5e108 100644
--- a/src/xmpp/connection.c
+++ b/src/xmpp/connection.c
@@ -310,6 +310,20 @@ jabber_get_account_name(void)
     return saved_account.name;
 }
 
+char*
+jabber_create_uuid(void)
+{
+    return xmpp_uuid_gen(jabber_conn.ctx);
+}
+
+void
+jabber_free_uuid(char *uuid)
+{
+    if (uuid) {
+        xmpp_free(jabber_conn.ctx, uuid);
+    }
+}
+
 void
 connection_set_presence_message(const char * const message)
 {
diff --git a/src/xmpp/xmpp.h b/src/xmpp/xmpp.h
index 2a8cbb59..839df9a7 100644
--- a/src/xmpp/xmpp.h
+++ b/src/xmpp/xmpp.h
@@ -150,6 +150,8 @@ jabber_conn_status_t jabber_get_connection_status(void);
 char * jabber_get_presence_message(void);
 char* jabber_get_account_name(void);
 GList * jabber_get_available_resources(void);
+char* jabber_create_uuid(void);
+void jabber_free_uuid(char *uuid);
 
 // message functions
 char* message_send_chat(const char * const barejid, const char * const msg);