mirror of
https://git.proxmox.com/git/mirror_frr
synced 2026-01-08 11:04:38 +00:00
lib: require json-c
We have unsigned 4 byte integrals in the codebase that end up in json output, so we need to force a json library that can handle these. Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
This commit is contained in:
parent
ca9e5ab316
commit
7bdafd3b41
17
lib/json.c
17
lib/json.c
@ -47,11 +47,7 @@ void json_object_string_add(struct json_object *obj, const char *key,
|
||||
|
||||
void json_object_int_add(struct json_object *obj, const char *key, int64_t i)
|
||||
{
|
||||
#if defined(HAVE_JSON_C_JSON_H)
|
||||
json_object_object_add(obj, key, json_object_new_int64(i));
|
||||
#else
|
||||
json_object_object_add(obj, key, json_object_new_int((int)i));
|
||||
#endif
|
||||
}
|
||||
|
||||
void json_object_boolean_false_add(struct json_object *obj, const char *key)
|
||||
@ -78,16 +74,3 @@ void json_object_free(struct json_object *obj)
|
||||
{
|
||||
json_object_put(obj);
|
||||
}
|
||||
|
||||
#if !defined(HAVE_JSON_C_JSON_H)
|
||||
int json_object_object_get_ex(struct json_object *obj, const char *key,
|
||||
struct json_object **value)
|
||||
{
|
||||
*value = json_object_object_get(obj, key);
|
||||
|
||||
if (*value)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
17
lib/json.h
17
lib/json.h
@ -25,7 +25,7 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(HAVE_JSON_C_JSON_H)
|
||||
#include "command.h"
|
||||
#include <json-c/json.h>
|
||||
|
||||
/*
|
||||
@ -41,21 +41,6 @@ extern "C" {
|
||||
json_object_iter_equal(&(joi), &(join)) == 0; \
|
||||
json_object_iter_next(&(joi)))
|
||||
|
||||
#else
|
||||
#include <json/json.h>
|
||||
|
||||
/*
|
||||
* json_object_to_json_string_ext is only available for json-c
|
||||
* so let's just turn it back to the original usage.
|
||||
*/
|
||||
#define json_object_to_json_string_ext(A, B) json_object_to_json_string (A)
|
||||
|
||||
extern int json_object_object_get_ex(struct json_object *obj, const char *key,
|
||||
struct json_object **value);
|
||||
#endif
|
||||
|
||||
#include "command.h"
|
||||
|
||||
extern bool use_json(const int argc, struct cmd_token *argv[]);
|
||||
extern void json_object_string_add(struct json_object *obj, const char *key,
|
||||
const char *s);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user