diff options
| author | Donald Sharp <donaldsharp72@gmail.com> | 2022-03-11 14:12:58 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-03-11 14:12:58 -0500 |
| commit | 89ee4bbb21d628b7cabbc54c9cf23064d3295484 (patch) | |
| tree | 21a2d809c1ba608f14b8a3908f17ffdb3c104a18 /lib/json.h | |
| parent | 1b387a2894a812676d7e51fc39e668c03dbc5384 (diff) | |
| parent | 41490e0ede9ad9e09b51151ccc2cf7321e491603 (diff) | |
Merge pull request #10774 from opensourcerouting/pim6-fixes-20220311
pim6d: fix a bunch of IPv6 confusion
Diffstat (limited to 'lib/json.h')
| -rw-r--r-- | lib/json.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/json.h b/lib/json.h index fcaa84c816..78c3836515 100644 --- a/lib/json.h +++ b/lib/json.h @@ -116,6 +116,28 @@ static inline struct json_object *json_object_new_stringf(const char *fmt, ...) return ret; } +/* NOTE: argument order differs! (due to varargs) + * json_object_object_add(parent, key, child) + * json_object_object_addv(parent, child, key, va) + * json_object_object_addf(parent, child, key, ...) + * (would be weird to have the child inbetween the format string and args) + */ +PRINTFRR(3, 0) +extern void json_object_object_addv(struct json_object *parent, + struct json_object *child, + const char *keyfmt, va_list args); +PRINTFRR(3, 4) +static inline void json_object_object_addf(struct json_object *parent, + struct json_object *child, + const char *keyfmt, ...) +{ + va_list args; + + va_start(args, keyfmt); + json_object_object_addv(parent, child, keyfmt, args); + va_end(args); +} + #define JSON_STR "JavaScript Object Notation\n" /* NOTE: json-c lib has following commit 316da85 which |
