diff options
author | James Booth <boothj5@gmail.com> | 2013-01-12 23:10:56 +0000 |
---|---|---|
committer | James Booth <boothj5@gmail.com> | 2013-01-12 23:10:56 +0000 |
commit | 94bcf1889d5a07305784ff5bc92afffa71a5ccd3 (patch) | |
tree | 9f2ae00026d9f0ada1676c7597e76e78d3a780e4 /src/common.c | |
parent | 306f00d3e897d83d475a1f7c34f31d0790844325 (diff) | |
download | profani-tty-94bcf1889d5a07305784ff5bc92afffa71a5ccd3.tar.gz |
Added jid datatype
Diffstat (limited to 'src/common.c')
-rw-r--r-- | src/common.c | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/src/common.c b/src/common.c index 4bb4cc4d..d79bff64 100644 --- a/src/common.c +++ b/src/common.c @@ -167,103 +167,3 @@ prof_getline(FILE *stream) free(buf); return s; } - -/* - * Given a full room JID of the form - * room@server/nick - * Will create two new strings and point room and nick to them e.g. - * *room = "room@server", *nick = "nick" - * The strings must be freed by the caller - * Returns TRUE if the JID was parsed successfully, FALSE otherwise - */ -gboolean -parse_room_jid(const char * const full_room_jid, char **room, char **nick) -{ - char **tokens = g_strsplit(full_room_jid, "/", 0); - - if (tokens == NULL || tokens[0] == NULL || tokens[1] == NULL) { - return FALSE; - } else { - *room = strdup(tokens[0]); - *nick = strdup(tokens[1]); - - g_strfreev(tokens); - - return TRUE; - } -} - -/* - * Given a room name, and a nick name create and return a full JID of the form - * room@server/nick - * Will return a newly created string that must be freed by the caller - */ -char * -create_full_room_jid(const char * const room, const char * const nick) -{ - GString *full_jid = g_string_new(room); - g_string_append(full_jid, "/"); - g_string_append(full_jid, nick); - - char *result = strdup(full_jid->str); - - g_string_free(full_jid, TRUE); - - return result; -} - -/* - * Returns TRUE if the JID is a room JID - * The test is that the passed JID does not contain a "/" - */ -gboolean -jid_is_room(const char * const room_jid) -{ - gchar *result = g_strrstr(room_jid, "/"); - return (result == NULL); -} - -/* - * Get the room name part of the full JID, e.g. - * Full JID = "test@conference.server/person" - * returns "test@conference.server" - */ -char * -get_room_from_full_jid(const char * const full_room_jid) -{ - char **tokens = g_strsplit(full_room_jid, "/", 0); - char *room_part; - - if (tokens == NULL || tokens[0] == NULL) { - return NULL; - } else { - room_part = strdup(tokens[0]); - - g_strfreev(tokens); - - return room_part; - } -} - -/* - * Get the nickname part of the full JID, e.g. - * Full JID = "test@conference.server/person" - * returns "person" - */ -char * -get_nick_from_full_jid(const char * const full_room_jid) -{ - char **tokens = g_strsplit(full_room_jid, "/", 0); - char *nick_part; - - if (tokens == NULL || tokens[1] == NULL) { - return NULL; - } else { - nick_part = strdup(tokens[1]); - - g_strfreev(tokens); - - return nick_part; - } -} - |