Add argument parsing errors in command.h, use in parse_type routines.
---
command.c | 14 ++++++++------
command.h | 3 +++
2 files changed, 11 insertions(+), 6 deletions(-)
======
diff -u src/helper/command.c src/helper/command.c
--- src/helper/command.c (working copy)
+++ src/helper/command.c (working copy)
@@ -867,13 +867,15 @@
int parse##name(const char *str, type *ul) \
{ \
if (!*str) \
- return ERROR_COMMAND_SYNTAX_ERROR; \
+ return ERROR_COMMAND_ARGUMENT_INVALID; \
char *end; \
*ul = func(str, &end, 0); \
if (*end) \
- return ERROR_COMMAND_SYNTAX_ERROR; \
- if (*ul == max || (min && min == *ul)) \
- return ERROR_COMMAND_SYNTAX_ERROR; \
+ return ERROR_COMMAND_ARGUMENT_INVALID; \
+ if (*ul == max) \
+ return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
+ if (min && min == *ul) \
+ return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
return ERROR_OK; \
}
DEFINE_PARSE_NUM_TYPE(_ulong, unsigned long , strtoul, 0, ULONG_MAX)
@@ -889,9 +891,9 @@
if (ERROR_OK != retval) \
return retval; \
if (n > max) \
- return ERROR_COMMAND_SYNTAX_ERROR; \
+ return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
if (min) \
- return ERROR_COMMAND_SYNTAX_ERROR; \
+ return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
*ul = n; \
return ERROR_OK; \
}
diff -u src/helper/command.h src/helper/command.h
--- src/helper/command.h (working copy)
+++ src/helper/command.h (working copy)
@@ -98,6 +98,9 @@
#define ERROR_COMMAND_CLOSE_CONNECTION (-600)
#define ERROR_COMMAND_SYNTAX_ERROR (-601)
#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;
_______________________________________________
Openocd-development mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/openocd-development