human readable error message upon invalid arguments
git-svn-id: svn://svn.berlios.de/openocd/trunk@2464 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
parent
07f13dff2a
commit
fca8cddc26
|
@ -2,7 +2,7 @@
|
||||||
* Copyright (C) 2005 by Dominic Rath *
|
* Copyright (C) 2005 by Dominic Rath *
|
||||||
* Dominic.Rath@gmx.de *
|
* Dominic.Rath@gmx.de *
|
||||||
* *
|
* *
|
||||||
* Copyright (C) 2007,2008 Øyvind Harboe *
|
* Copyright (C) 2007,2008 <EFBFBD>yvind Harboe *
|
||||||
* oyvind.harboe@zylin.com *
|
* oyvind.harboe@zylin.com *
|
||||||
* *
|
* *
|
||||||
* Copyright (C) 2008, Duane Ellis *
|
* Copyright (C) 2008, Duane Ellis *
|
||||||
|
@ -867,15 +867,27 @@ long jim_global_long(const char *variable)
|
||||||
int parse##name(const char *str, type *ul) \
|
int parse##name(const char *str, type *ul) \
|
||||||
{ \
|
{ \
|
||||||
if (!*str) \
|
if (!*str) \
|
||||||
|
{ \
|
||||||
|
LOG_ERROR("Invalid command argument"); \
|
||||||
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
||||||
|
} \
|
||||||
char *end; \
|
char *end; \
|
||||||
*ul = func(str, &end, 0); \
|
*ul = func(str, &end, 0); \
|
||||||
if (*end) \
|
if (*end) \
|
||||||
|
{ \
|
||||||
|
LOG_ERROR("Invalid command argument"); \
|
||||||
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
||||||
|
} \
|
||||||
if ((max == *ul) && (ERANGE == errno)) \
|
if ((max == *ul) && (ERANGE == errno)) \
|
||||||
|
{ \
|
||||||
|
LOG_ERROR("Argument overflow"); \
|
||||||
return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
|
return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
|
||||||
|
} \
|
||||||
if (min && (min == *ul) && (ERANGE == errno)) \
|
if (min && (min == *ul) && (ERANGE == errno)) \
|
||||||
|
{ \
|
||||||
|
LOG_ERROR("Argument underflow"); \
|
||||||
return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
|
return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
|
||||||
|
} \
|
||||||
return ERROR_OK; \
|
return ERROR_OK; \
|
||||||
}
|
}
|
||||||
DEFINE_PARSE_NUM_TYPE(_ulong, unsigned long , strtoul, 0, ULONG_MAX)
|
DEFINE_PARSE_NUM_TYPE(_ulong, unsigned long , strtoul, 0, ULONG_MAX)
|
||||||
|
|
Loading…
Reference in New Issue