summaryrefslogtreecommitdiff
path: root/command_service.c
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2010-08-26 22:36:07 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2010-08-26 22:36:07 +0200
commit9c7db46be9933e36e79b4caac86a5bdc3183122d (patch)
tree7d31a4ed584d975befe634207ac84925b21ee592 /command_service.c
parent3991db2df701b5b6a0401e6974811db3e15edb39 (diff)
Merged commands.c and control_commands.c.
Diffstat (limited to 'command_service.c')
-rw-r--r--command_service.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/command_service.c b/command_service.c
index 5d357da..efb350c 100644
--- a/command_service.c
+++ b/command_service.c
@@ -2,6 +2,7 @@
#include "commands.h"
#include <gio/gio.h>
+#include <string.h>
static GSocketService *ss = NULL;
@@ -30,7 +31,16 @@ static gboolean service_incoming(GSocketService *service,
while((eol = g_strstr_len(pos, size, "\n")) != NULL || (eol = g_strstr_len(pos, size, "\r")) != NULL) {
*eol = '\0';
- commands_handle(connection, pos);
+ commands_handle(connection, pos, &error);
+
+ if(error != NULL) {
+ g_warning(error->message);
+ gchar *error_buffer = g_strdup_printf("%s\n", error->message);
+ g_socket_send(socket, error_buffer, strlen(error_buffer), NULL, NULL);
+ g_free(error_buffer);
+ g_error_free(error);
+ error = NULL;
+ }
size -= eol - pos + 1;
pos = eol + 1;