From fca8cddc26d8d6db028e3332ab84ceb52c56fc31 Mon Sep 17 00:00:00 2001 From: oharboe Date: Mon, 6 Jul 2009 07:33:38 +0000 Subject: [PATCH] human readable error message upon invalid arguments git-svn-id: svn://svn.berlios.de/openocd/trunk@2464 b42882b7-edfa-0310-969c-e2dbd0fdcd60 --- src/helper/command.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/helper/command.c b/src/helper/command.c index c34b51d49..ce140aa83 100644 --- a/src/helper/command.c +++ b/src/helper/command.c @@ -2,7 +2,7 @@ * Copyright (C) 2005 by Dominic Rath * * Dominic.Rath@gmx.de * * * - * Copyright (C) 2007,2008 Øyvind Harboe * + * Copyright (C) 2007,2008 �yvind Harboe * * oyvind.harboe@zylin.com * * * * Copyright (C) 2008, Duane Ellis * @@ -867,15 +867,27 @@ long jim_global_long(const char *variable) int parse##name(const char *str, type *ul) \ { \ if (!*str) \ + { \ + LOG_ERROR("Invalid command argument"); \ return ERROR_COMMAND_ARGUMENT_INVALID; \ + } \ char *end; \ *ul = func(str, &end, 0); \ if (*end) \ + { \ + LOG_ERROR("Invalid command argument"); \ return ERROR_COMMAND_ARGUMENT_INVALID; \ + } \ if ((max == *ul) && (ERANGE == errno)) \ + { \ + LOG_ERROR("Argument overflow"); \ return ERROR_COMMAND_ARGUMENT_OVERFLOW; \ + } \ if (min && (min == *ul) && (ERANGE == errno)) \ + { \ + LOG_ERROR("Argument underflow"); \ return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \ + } \ return ERROR_OK; \ } DEFINE_PARSE_NUM_TYPE(_ulong, unsigned long , strtoul, 0, ULONG_MAX)