This simplifies little bits of code here and there. Signed-off-by: Ben Pfaff <b...@ovn.org> --- lib/ovsdb-error.c | 8 ++++++++ lib/ovsdb-error.h | 1 + ovsdb/execution.c | 4 +--- ovsdb/jsonrpc-server.c | 24 ++++++------------------ 4 files changed, 16 insertions(+), 21 deletions(-)
diff --git a/lib/ovsdb-error.c b/lib/ovsdb-error.c index 82dc10966e99..dd08de687251 100644 --- a/lib/ovsdb-error.c +++ b/lib/ovsdb-error.c @@ -221,6 +221,14 @@ ovsdb_error_to_json(const struct ovsdb_error *error) return json; } +struct json * +ovsdb_error_to_json_free(struct ovsdb_error *error) +{ + struct json *json = ovsdb_error_to_json(error); + ovsdb_error_destroy(error); + return json; +} + char * ovsdb_error_to_string(const struct ovsdb_error *error) { diff --git a/lib/ovsdb-error.h b/lib/ovsdb-error.h index ff9b889a8687..77a60e074f9c 100644 --- a/lib/ovsdb-error.h +++ b/lib/ovsdb-error.h @@ -66,6 +66,7 @@ struct ovsdb_error *ovsdb_error_clone(const struct ovsdb_error *) char *ovsdb_error_to_string(const struct ovsdb_error *); char *ovsdb_error_to_string_free(struct ovsdb_error *); struct json *ovsdb_error_to_json(const struct ovsdb_error *); +struct json *ovsdb_error_to_json_free(struct ovsdb_error *); const char *ovsdb_error_get_tag(const struct ovsdb_error *); diff --git a/ovsdb/execution.c b/ovsdb/execution.c index 1ebe7a772e47..c6feafd7d552 100644 --- a/ovsdb/execution.c +++ b/ovsdb/execution.c @@ -120,9 +120,7 @@ ovsdb_execute(struct ovsdb *db, const struct ovsdb_session *session, "as first parameter"); } - results = ovsdb_error_to_json(error); - ovsdb_error_destroy(error); - return results; + return ovsdb_error_to_json_free(error); } x.db = db; diff --git a/ovsdb/jsonrpc-server.c b/ovsdb/jsonrpc-server.c index 27cbd8449e3f..aec6603958d7 100644 --- a/ovsdb/jsonrpc-server.c +++ b/ovsdb/jsonrpc-server.c @@ -730,8 +730,8 @@ ovsdb_jsonrpc_lookup_db(const struct ovsdb_jsonrpc_session *s, return db; error: - *replyp = jsonrpc_create_error(ovsdb_error_to_json(error), request->id); - ovsdb_error_destroy(error); + *replyp = jsonrpc_create_error(ovsdb_error_to_json_free(error), + request->id); return NULL; } @@ -781,7 +781,6 @@ ovsdb_jsonrpc_session_lock(struct ovsdb_jsonrpc_session *s, enum ovsdb_lock_mode mode) { struct ovsdb_lock_waiter *waiter; - struct jsonrpc_msg *reply; struct ovsdb_error *error; struct ovsdb_session *victim; const char *lock_name; @@ -820,9 +819,7 @@ ovsdb_jsonrpc_session_lock(struct ovsdb_jsonrpc_session *s, return jsonrpc_create_reply(result, request->id); error: - reply = jsonrpc_create_error(ovsdb_error_to_json(error), request->id); - ovsdb_error_destroy(error); - return reply; + return jsonrpc_create_error(ovsdb_error_to_json_free(error), request->id); } static void @@ -857,7 +854,6 @@ ovsdb_jsonrpc_session_unlock(struct ovsdb_jsonrpc_session *s, struct jsonrpc_msg *request) { struct ovsdb_lock_waiter *waiter; - struct jsonrpc_msg *reply; struct ovsdb_error *error; const char *lock_name; @@ -884,9 +880,7 @@ ovsdb_jsonrpc_session_unlock(struct ovsdb_jsonrpc_session *s, return jsonrpc_create_reply(json_object_create(), request->id); error: - reply = jsonrpc_create_error(ovsdb_error_to_json(error), request->id); - ovsdb_error_destroy(error); - return reply; + return jsonrpc_create_error(ovsdb_error_to_json_free(error), request->id); } static struct jsonrpc_msg * @@ -1361,9 +1355,7 @@ error: ovsdb_jsonrpc_monitor_destroy(m); } - json = ovsdb_error_to_json(error); - ovsdb_error_destroy(error); - return jsonrpc_create_error(json, request_id); + return jsonrpc_create_error(ovsdb_error_to_json_free(error), request_id); } static struct ovsdb_error * @@ -1406,7 +1398,6 @@ ovsdb_jsonrpc_monitor_cond_change(struct ovsdb_jsonrpc_session *s, struct ovsdb_jsonrpc_monitor *m; struct json *monitor_cond_change_reqs; struct shash_node *node; - struct json *json; if (json_array(params)->n != 3) { error = ovsdb_syntax_error(params, NULL, "invalid parameters"); @@ -1490,10 +1481,7 @@ ovsdb_jsonrpc_monitor_cond_change(struct ovsdb_jsonrpc_session *s, return jsonrpc_create_reply(json_object_create(), request_id); error: - - json = ovsdb_error_to_json(error); - ovsdb_error_destroy(error); - return jsonrpc_create_error(json, request_id); + return jsonrpc_create_error(ovsdb_error_to_json_free(error), request_id); } static struct jsonrpc_msg * -- 2.10.2 _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev