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
__archive__
zwelch 2009-06-12 01:40:23 +00:00
parent f218f36df5
commit d5339d2eb4
1 changed files with 16 additions and 5 deletions

View File

@ -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;
}