summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2010-08-23 22:19:11 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2010-08-23 22:19:11 +0200
commita2cca6c09f4661e86ec27d6e9525eb1e02a973e9 (patch)
tree7c7265ac2df1a25a6ba2aab76e86aefb8fba3f27
parent9dbb7aeb8f3cab7b6568d43da5a1913a0581a00f (diff)
Added an exit command.
-rw-r--r--commands.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/commands.c b/commands.c
index faf12cc..26a7ae5 100644
--- a/commands.c
+++ b/commands.c
@@ -103,6 +103,11 @@ static void commands_ping(GSocketConnection *connection, const gchar *cmd) {
}
}
+static void commands_exit(GSocketConnection *connection, const gchar *cmd) {
+ GSocket *socket = g_socket_connection_get_socket(connection);
+ g_socket_close(socket, NULL);
+}
+
void commands_handle(GSocketConnection *connection, const gchar *cmd) {
g_debug(cmd);
if(g_strncasecmp(cmd, "ping", 4) == 0) {
@@ -111,6 +116,8 @@ void commands_handle(GSocketConnection *connection, const gchar *cmd) {
commands_list(connection, cmd);
} else if(g_strncasecmp(cmd, "find", 4) == 0) {
commands_find(connection, cmd);
+ } else if(g_strncasecmp(cmd, "exit", 4) == 0) {
+ commands_exit(connection, cmd);
} else {
g_debug("unknown command");
gchar *buf = g_strdup_printf("error: unknown command %s\n", cmd);