summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-06 07:33:38 +0000
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>2009-07-06 07:33:38 +0000
commitfca8cddc26d8d6db028e3332ab84ceb52c56fc31 (patch)
tree925cf4305dbc23c8fb55e021bba9badd6a95b6b6 /src
parent07f13dff2aae824212a614e74e611abd76c629ea (diff)
downloadopenocd+libswd-fca8cddc26d8d6db028e3332ab84ceb52c56fc31.tar.gz
openocd+libswd-fca8cddc26d8d6db028e3332ab84ceb52c56fc31.tar.bz2
openocd+libswd-fca8cddc26d8d6db028e3332ab84ceb52c56fc31.tar.xz
openocd+libswd-fca8cddc26d8d6db028e3332ab84ceb52c56fc31.zip
human readable error message upon invalid arguments
git-svn-id: svn://svn.berlios.de/openocd/trunk@2464 b42882b7-edfa-0310-969c-e2dbd0fdcd60
Diffstat (limited to 'src')
-rw-r--r--src/helper/command.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/helper/command.c b/src/helper/command.c
index c34b51d4..ce140aa8 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)