about summary refs log tree commit diff
path: root/src/engine
diff options
context:
space:
mode:
authorMagnus Auvinen <magnus.auvinen@gmail.com>2008-08-27 16:23:15 +0000
committerMagnus Auvinen <magnus.auvinen@gmail.com>2008-08-27 16:23:15 +0000
commit68c52dd5efca7ed66b083b70439337b8f1205c15 (patch)
tree2690d39776899a8bdea18801cb6074c35d0a941e /src/engine
parentdc67b341387f539f11f8964c299ce479e36cc142 (diff)
downloadzcatch-68c52dd5efca7ed66b083b70439337b8f1205c15.tar.gz
zcatch-68c52dd5efca7ed66b083b70439337b8f1205c15.zip
repaired the local console
Diffstat (limited to 'src/engine')
-rw-r--r--src/engine/e_console.c8
-rw-r--r--src/engine/e_console.h2
-rw-r--r--src/engine/server/es_server.c4
3 files changed, 8 insertions, 6 deletions
diff --git a/src/engine/e_console.c b/src/engine/e_console.c
index 8dd9dbcd..822d770a 100644
--- a/src/engine/e_console.c
+++ b/src/engine/e_console.c
@@ -198,17 +198,19 @@ void console_register(COMMAND *cmd)
 	first_command = cmd;
 }
 
-static void (*print_callback)(const char *) = 0x0;
+static void (*print_callback)(const char *, void *) = 0x0;
+static void *print_callback_userdata;
 
-void console_register_print_callback(void (*callback)(const char *))
+void console_register_print_callback(void (*callback)(const char *, void *), void *user_data)
 {
 	print_callback = callback;
+	print_callback_userdata = user_data;
 }
 
 void console_print(const char *str)
 {
 	if (print_callback)
-		print_callback(str);
+		print_callback(str, print_callback_userdata);
 }
 
 void console_execute_line_stroked(int stroke, const char *str)
diff --git a/src/engine/e_console.h b/src/engine/e_console.h
index 2170e8d7..75325d7e 100644
--- a/src/engine/e_console.h
+++ b/src/engine/e_console.h
@@ -22,7 +22,7 @@ void console_execute_line(const char *str);
 void console_execute_line_stroked(int stroke, const char *str);
 void console_execute_file(const char *filename);
 void console_print(const char *str);
-void console_register_print_callback(void (*callback)(const char *));
+void console_register_print_callback(void (*callback)(const char *, void *user_data), void *user_data);
 
 /*int console_result_string(void *result, int index, const char **str);
 int console_result_int(void *result, int index, int *i);
diff --git a/src/engine/server/es_server.c b/src/engine/server/es_server.c
index 6e015dbe..905ee272 100644
--- a/src/engine/server/es_server.c
+++ b/src/engine/server/es_server.c
@@ -572,7 +572,7 @@ static void server_send_rcon_line(int cid, const char *line)
 	server_send_msg(cid);
 }
 
-static void server_send_rcon_line_authed(const char *line)
+static void server_send_rcon_line_authed(const char *line, void *user_data)
 {
 	static volatile int reentry_guard = 0;
 	int i;
@@ -913,7 +913,7 @@ static int server_run()
 	net_init();
 	
 	/* */
-	console_register_print_callback(server_send_rcon_line_authed);
+	console_register_print_callback(server_send_rcon_line_authed, 0);
 
 	/* load map */
 	if(!server_load_map(config.sv_map))