Ensure range errors are reported only when errno indicates one occurred.
authorzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 17 Jun 2009 00:31:06 +0000 (00:31 +0000)
committerzwelch <zwelch@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Wed, 17 Jun 2009 00:31:06 +0000 (00:31 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@2260 b42882b7-edfa-0310-969c-e2dbd0fdcd60

src/helper/command.c

index 5dbc047e6758fbe082ac7079ce516b65d3b9a964..bea480cc9361423a95eaca2edb1827e6c74bba6f 100644 (file)
@@ -872,9 +872,9 @@ long jim_global_long(const char *variable)
                *ul = func(str, &end, 0); \
                if (*end) \
                        return ERROR_COMMAND_ARGUMENT_INVALID; \
-               if (*ul == max) \
+               if ((max == *ul) && (ERANGE == errno)) \
                        return ERROR_COMMAND_ARGUMENT_OVERFLOW; \
-               if (min && min == *ul) \
+               if (min && (min == *ul) && (ERANGE == errno)) \
                        return ERROR_COMMAND_ARGUMENT_UNDERFLOW; \
                return ERROR_OK; \
        }