From ba6d273b004cc8e03b5314c1931ee7e18ae6f29b Mon Sep 17 00:00:00 2001 From: Donald Sharp Date: Tue, 8 Dec 2015 17:06:42 +0000 Subject: [PATCH] lib: Add CMD_RANGE_STR macro to command.h Allow the auto-generation of a "" string for cli handline. Where X or Y can be a #define. CMD_RANGE_STR(LOW, HIGH) translates to: "<4-99>" Signed-off-by: Donald Sharp --- lib/command.h | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/lib/command.h b/lib/command.h index 4eb31a694..f9f4c7e39 100644 --- a/lib/command.h +++ b/lib/command.h @@ -437,6 +437,17 @@ struct cmd_token #endif /* VTYSH_EXTRACT_PL */ /* Some macroes */ + +/* + * Sometimes #defines create maximum values that + * need to have strings created from them that + * allow the parser to match against them. + * These macros allow that. + */ +#define CMD_CREATE_STR(s) CMD_CREATE_STR_HELPER(s) +#define CMD_CREATE_STR_HELPER(s) #s +#define CMD_RANGE_STR(a,s) "<" CMD_CREATE_STR(a) "-" CMD_CREATE_STR(s) ">" + #define CMD_OPTION(S) ((S[0]) == '[') #define CMD_VARIABLE(S) (((S[0]) >= 'A' && (S[0]) <= 'Z') || ((S[0]) == '<')) #define CMD_VARARG(S) ((S[0]) == '.') -- 2.39.5