Add argument parsing errors in command.h, use in parse_type routines.
git-svn-id: svn://svn.berlios.de/openocd/trunk@2258 b42882b7-edfa-0310-969c-e2dbd0fdcd60__archive__
parent
0e28997989
commit
d579befc07
|
@ -867,13 +867,15 @@ 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) \
|
||||||
return ERROR_COMMAND_SYNTAX_ERROR; \
|
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
||||||
char *end; \
|
char *end; \
|
||||||
*ul = func(str, &end, 0); \
|
*ul = func(str, &end, 0); \
|
||||||
if (*end) \
|
if (*end) \
|
||||||
return ERROR_COMMAND_SYNTAX_ERROR; \
|
return ERROR_COMMAND_ARGUMENT_INVALID; \
|
||||||
if (*ul == max || (min && min == *ul)) \
|
if (*ul == max) \
|
||||||
return ERROR_COMMAND_SYNTAX_ERROR; \
|
return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
|
||||||
|
if (min && min == *ul) \
|
||||||
|
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)
|
||||||
|
@ -889,9 +891,9 @@ DEFINE_PARSE_NUM_TYPE(_llong, long long, strtoll, LLONG_MIN, LLONG_MAX)
|
||||||
if (ERROR_OK != retval) \
|
if (ERROR_OK != retval) \
|
||||||
return retval; \
|
return retval; \
|
||||||
if (n > max) \
|
if (n > max) \
|
||||||
return ERROR_COMMAND_SYNTAX_ERROR; \
|
return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
|
||||||
if (min) \
|
if (min) \
|
||||||
return ERROR_COMMAND_SYNTAX_ERROR; \
|
return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
|
||||||
*ul = n; \
|
*ul = n; \
|
||||||
return ERROR_OK; \
|
return ERROR_OK; \
|
||||||
}
|
}
|
||||||
|
|
|
@ -98,6 +98,9 @@ extern void process_jim_events(void);
|
||||||
#define ERROR_COMMAND_CLOSE_CONNECTION (-600)
|
#define ERROR_COMMAND_CLOSE_CONNECTION (-600)
|
||||||
#define ERROR_COMMAND_SYNTAX_ERROR (-601)
|
#define ERROR_COMMAND_SYNTAX_ERROR (-601)
|
||||||
#define ERROR_COMMAND_NOTFOUND (-602)
|
#define ERROR_COMMAND_NOTFOUND (-602)
|
||||||
|
#define ERROR_COMMAND_ARGUMENT_INVALID (-603)
|
||||||
|
#define ERROR_COMMAND_ARGUMENT_OVERFLOW (-604)
|
||||||
|
#define ERROR_COMMAND_ARGUMENT_UNDERFLOW (-605)
|
||||||
|
|
||||||
extern int fast_and_dangerous;
|
extern int fast_and_dangerous;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue