From c0eb431554d2bdeeebc3d78973191a41be7e558d Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Thu, 17 Oct 2013 18:59:53 -0300 Subject: [PATCH] Implement command to add friend --- friend.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/friend.c b/friend.c index 5abd50c..60569c1 100644 --- a/friend.c +++ b/friend.c @@ -90,10 +90,7 @@ void friend_got_message(struct friend *friend, char *buffer, size_t len) } static void friend_list(gchar **args, GSocketAddress *address); - -static void friend_add(gchar **args, GSocketAddress *address) -{ -} +static void friend_add(gchar **args, GSocketAddress *address); struct menu_item cmds[] = { { "list", friend_list }, @@ -140,6 +137,21 @@ static void friend_list(gchar **args, GSocketAddress *address) g_socket_send_to(usock, address, buffer, 0, NULL, NULL); } +static void friend_add(gchar **args, GSocketAddress *address) +{ + char *name; + char *addr; + char *sport; + uint16_t port; + if (args[2] == NULL || args[3] == NULL || args[4] == NULL) + return; + name = args[2]; + addr = args[3]; + sport = args[4]; + port = atoi(sport); + cache_add_friend(ucache, name, addr, port); +} + struct friend *friend_get_by_address(GInetAddress *address, uint16_t port) { GList *l; -- 2.20.1