diff options
author | paul <paul> | 2005-05-23 12:43:34 +0000 |
---|---|---|
committer | paul <paul> | 2005-05-23 12:43:34 +0000 |
commit | d4f0960cb23abc7528d7282fa08c68131eae5f93 (patch) | |
tree | 8a1bc8eac474c49ca76f27971c65f74fd5a74c89 /lib/vty.h | |
parent | d5c925396629ef93cb38c2a63c3ac63911a341a6 (diff) |
2005-05-23 Paul Jakma <paul@dishone.st>
* routemap.c: (rmap_onmatch_goto) fix crash if 'continue' command
is used, which does not supply an argv[0].
this is a backport candidate /iff/ the trailing ; is removed
from VTY_GET_INTEGER_RANGE
* vty.h: fix the VTY_GET macros, do {..} while(0) so they have
correct function like syntax in usage.
Diffstat (limited to 'lib/vty.h')
-rw-r--r-- | lib/vty.h | 20 |
1 files changed, 10 insertions, 10 deletions
@@ -149,7 +149,7 @@ struct vty /* Utility macros to convert VTY argument to unsigned long or integer. */ #define VTY_GET_LONG(NAME,V,STR) \ -{ \ +do { \ char *endptr = NULL; \ (V) = strtoul ((STR), &endptr, 10); \ if (*endptr != '\0' || (V) == ULONG_MAX) \ @@ -157,25 +157,25 @@ struct vty vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ return CMD_WARNING; \ } \ -} +} while (0) #define VTY_GET_INTEGER_RANGE(NAME,V,STR,MIN,MAX) \ -{ \ +do { \ unsigned long tmpl; \ - VTY_GET_LONG(NAME, tmpl, STR) \ - if ( tmpl < (MIN) || tmpl > (MAX)) \ + VTY_GET_LONG(NAME, tmpl, STR); \ + if ( (tmpl < (MIN)) || (tmpl > (MAX))) \ { \ vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ return CMD_WARNING; \ } \ (V) = tmpl; \ -} +} while (0) #define VTY_GET_INTEGER(NAME,V,STR) \ VTY_GET_INTEGER_RANGE(NAME,V,STR,0U,UINT32_MAX) #define VTY_GET_IPV4_ADDRESS(NAME,V,STR) \ -{ \ +do { \ int retv; \ retv = inet_aton ((STR), &(V)); \ if (!retv) \ @@ -183,10 +183,10 @@ struct vty vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ return CMD_WARNING; \ } \ -} +} while (0) #define VTY_GET_IPV4_PREFIX(NAME,V,STR) \ -{ \ +do { \ int retv; \ retv = str2prefix_ipv4 ((STR), &(V)); \ if (retv <= 0) \ @@ -194,7 +194,7 @@ struct vty vty_out (vty, "%% Invalid %s value%s", NAME, VTY_NEWLINE); \ return CMD_WARNING; \ } \ -} +} while (0) /* Exported variables */ extern char integrate_default[]; |