human readable error message upon invalid arguments
authoroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Mon, 6 Jul 2009 07:33:38 +0000 (07:33 +0000)
committeroharboe <oharboe@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Mon, 6 Jul 2009 07:33:38 +0000 (07:33 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@2464 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/helper/command.c

index c34b51d..ce140aa 100644 (file)
@@ -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)