lib: fix some strtoul() use cases
...otherwise 4294967295 is not a valid value on 32bit systems
diff --git a/lib/vty.h b/lib/vty.h
index 7df04b5..639d741 100644
--- a/lib/vty.h
+++ b/lib/vty.h
@@ -152,8 +152,9 @@
#define VTY_GET_LONG(NAME,V,STR) \
do { \
char *endptr = NULL; \
+ errno = 0; \
(V) = strtoul ((STR), &endptr, 10); \
- if (*endptr != '\0' || (V) == ULONG_MAX) \
+ if (*(STR) == '-' || *endptr != '\0' || errno) \
{ \
vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \
return CMD_WARNING; \