From 266e632849f11b1f34b58009a28feb0fd46288de Mon Sep 17 00:00:00 2001
From: Matthias Bode <papabaer.embedded@googlemail.com>
Date: Mon, 3 May 2010 22:35:38 +0200
Subject: [PATCH] Fixed bug in tcl-server

No segmentationfault when sending commands to tcl-server.

	modified:   src/server/server.c
	modified:   src/server/tcl_server.c
	modified:   src/server/tcl_server.h
---
 src/server/server.c     |    2 +-
 src/server/tcl_server.c |    6 +++---
 src/server/tcl_server.h |    2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/server/server.c b/src/server/server.c
index 0d3273b..7e57228 100644
--- a/src/server/server.c
+++ b/src/server/server.c
@@ -513,7 +513,7 @@ int server_preinit(void)
 
 int server_init(struct command_context *cmd_ctx)
 {
-	int ret = tcl_init(cmd_ctx);
+	int ret = tcl_init();
 	if (ERROR_OK != ret)
 		return ret;
 
diff --git a/src/server/tcl_server.c b/src/server/tcl_server.c
index a88c436..7c8e130 100644
--- a/src/server/tcl_server.c
+++ b/src/server/tcl_server.c
@@ -81,7 +81,7 @@ static int tcl_new_connection(struct connection *connection)
 
 static int tcl_input(struct connection *connection)
 {
-	Jim_Interp *interp = (Jim_Interp *)connection->priv;
+	Jim_Interp *interp = (Jim_Interp *)connection->cmd_ctx->interp;
 	int retval;
 	int i;
 	ssize_t rlen;
@@ -157,7 +157,7 @@ static int tcl_closed(struct connection *connection)
 	return ERROR_OK;
 }
 
-int tcl_init(struct command_context *cmd_ctx)
+int tcl_init(void)
 {
 	int retval;
 
@@ -169,7 +169,7 @@ int tcl_init(struct command_context *cmd_ctx)
 
 	retval = add_service("tcl", CONNECTION_TCP, tcl_port, 1,
 			&tcl_new_connection, &tcl_input,
-			&tcl_closed, cmd_ctx->interp);
+			&tcl_closed, NULL);
 	return retval;
 }
 
diff --git a/src/server/tcl_server.h b/src/server/tcl_server.h
index 68ad821..8035a04 100644
--- a/src/server/tcl_server.h
+++ b/src/server/tcl_server.h
@@ -22,7 +22,7 @@
 
 #include <server/server.h>
 
-int tcl_init(struct command_context *cmd_ctx);
+int tcl_init(void);
 int tcl_register_commands(struct command_context *cmd_ctx);
 
 #endif /* _TCL_SERVER_H_ */
-- 
1.7.1

