@@ -102,6 +102,7 @@ int64_t json_integer(const struct json *);
struct json *json_deep_clone(const struct json *);
struct json *json_clone(const struct json *);
+struct json *json_nullable_clone(const struct json *);
void json_destroy(struct json *);
size_t json_hash(const struct json *, size_t basis);
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2009, 2010, 2011, 2012, 2014, 2015 Nicira, Inc.
+ * Copyright (c) 2009-2012, 2014-2017 Nicira, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -430,6 +430,12 @@ json_clone(const struct json *json_)
return json;
}
+struct json *
+json_nullable_clone(const struct json *json)
+{
+ return json ? json_clone(json) : NULL;
+}
+
static struct json *
json_clone_object(const struct shash *object)
{
Signed-off-by: Ben Pfaff <blp@ovn.org> --- include/openvswitch/json.h | 1 + lib/json.c | 8 +++++++- 2 files changed, 8 insertions(+), 1 deletion(-)