From d5339d2eb49930a60bafc5908045303ee8ad3e00 Mon Sep 17 00:00:00 2001
From: zwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Date: Fri, 12 Jun 2009 01:40:23 +0000
Subject: [PATCH] Simplify and improve gw16012_handle_parport_command: - Show
 the port number to the user when asking for it or setting it. - Print an
 error if the parport_port has already been set. - Use parse_u16 helper to
 ensure the parport_port string parses correctly.

git-svn-id: svn://svn.berlios.de/openocd/trunk@2211 b42882b7-edfa-0310-969c-e2dbd0fdcd60
---
 src/jtag/gw16012.c | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/src/jtag/gw16012.c b/src/jtag/gw16012.c
index 0ea66340c..b5fd28814 100644
--- a/src/jtag/gw16012.c
+++ b/src/jtag/gw16012.c
@@ -571,12 +571,23 @@ static int gw16012_quit(void)
 
 static int gw16012_handle_parport_port_command(struct command_context_s *cmd_ctx, char *cmd, char **args, int argc)
 {
-	if (argc == 0)
-		return ERROR_OK;
+	if (argc == 1)
+	{
+		/* only if the port wasn't overwritten by cmdline */
+		if (gw16012_port == 0)
+		{
+			int retval = parse_u16(args[0], &gw16012_port);
+			if (ERROR_OK != retval)
+				return retval;
+		}
+		else
+		{
+			LOG_ERROR("The parport port was already configured!");
+			return ERROR_FAIL;
+		}
+	}
 
-	/* only if the port wasn't overwritten by cmdline */
-	if (gw16012_port == 0)
-		gw16012_port = strtoul(args[0], NULL, 0);
+	command_print(cmd_ctx, "parport port = %u", gw16012_port);
 
 	return ERROR_OK;
 }
-- 
GitLab