mirror of
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git
synced 2024-11-15 14:05:22 +08:00
json_print: Introduce print_#type_name_value
Until now print_#type functions supported printing constant names and unknown (variable) values only. Add functions to allow printing when the name is also sent to the function as a variable. Signed-off-by: Ron Diskin <rondi@mellanox.com> Reviewed-by: Moshe Shemesh <moshe@mellanox.com> Reviewed-by: Jiri Pirko <jiri@mellanox.com> Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
919046d326
commit
31ca29b2be
@ -72,4 +72,11 @@ _PRINT_FUNC(lluint, unsigned long long)
|
||||
_PRINT_FUNC(float, double)
|
||||
#undef _PRINT_FUNC
|
||||
|
||||
#define _PRINT_NAME_VALUE_FUNC(type_name, type, format_char) \
|
||||
void print_##type_name##_name_value(const char *name, type value) \
|
||||
|
||||
_PRINT_NAME_VALUE_FUNC(uint, unsigned int, u);
|
||||
_PRINT_NAME_VALUE_FUNC(string, const char*, s);
|
||||
#undef _PRINT_NAME_VALUE_FUNC
|
||||
|
||||
#endif /* _JSON_PRINT_H_ */
|
||||
|
@ -127,6 +127,19 @@ _PRINT_FUNC(lluint, unsigned long long);
|
||||
_PRINT_FUNC(float, double);
|
||||
#undef _PRINT_FUNC
|
||||
|
||||
#define _PRINT_NAME_VALUE_FUNC(type_name, type, format_char) \
|
||||
void print_##type_name##_name_value(const char *name, type value)\
|
||||
{ \
|
||||
SPRINT_BUF(format); \
|
||||
\
|
||||
snprintf(format, SPRINT_BSIZE, \
|
||||
"%s %%"#format_char, name); \
|
||||
print_##type_name(PRINT_ANY, name, format, value); \
|
||||
}
|
||||
_PRINT_NAME_VALUE_FUNC(uint, unsigned int, u);
|
||||
_PRINT_NAME_VALUE_FUNC(string, const char*, s);
|
||||
#undef _PRINT_NAME_VALUE_FUNC
|
||||
|
||||
void print_color_string(enum output_type type,
|
||||
enum color_attr color,
|
||||
const char *key,
|
||||
|
Loading…
Reference in New Issue
Block a user