forked from Mirror/frr
mgmtd: fix a couple compilation warnings.
Also an empty (thus non-replace) notify selectors message shouldn't clear the selectors, it should just do nothing. Signed-off-by: Christian Hopps <chopps@labn.net>
This commit is contained in:
parent
fa50fde954
commit
e7fc74aa14
|
@ -1061,7 +1061,7 @@ static void be_client_handle_notify(struct mgmt_be_client *client, void *msgbuf,
|
||||||
struct mgmt_msg_notify_data *notif_msg = msgbuf;
|
struct mgmt_msg_notify_data *notif_msg = msgbuf;
|
||||||
struct nb_node *nb_node;
|
struct nb_node *nb_node;
|
||||||
struct lyd_node *dnode;
|
struct lyd_node *dnode;
|
||||||
const char *data;
|
const char *data = NULL;
|
||||||
const char *notif;
|
const char *notif;
|
||||||
LY_ERR err;
|
LY_ERR err;
|
||||||
|
|
||||||
|
|
|
@ -1518,7 +1518,6 @@ static void fe_adapter_handle_notify_select(struct mgmt_fe_session_ctx *session,
|
||||||
const char **selectors = NULL;
|
const char **selectors = NULL;
|
||||||
const char **new;
|
const char **new;
|
||||||
|
|
||||||
/* An empty message clears the selectors */
|
|
||||||
if (msg_len >= sizeof(*msg)) {
|
if (msg_len >= sizeof(*msg)) {
|
||||||
selectors = mgmt_msg_native_strings_decode(msg, msg_len,
|
selectors = mgmt_msg_native_strings_decode(msg, msg_len,
|
||||||
msg->selectors);
|
msg->selectors);
|
||||||
|
@ -1531,7 +1530,7 @@ static void fe_adapter_handle_notify_select(struct mgmt_fe_session_ctx *session,
|
||||||
if (msg->replace) {
|
if (msg->replace) {
|
||||||
darr_free_free(session->notify_xpaths);
|
darr_free_free(session->notify_xpaths);
|
||||||
session->notify_xpaths = selectors;
|
session->notify_xpaths = selectors;
|
||||||
} else {
|
} else if (selectors) {
|
||||||
new = darr_append_nz(session->notify_xpaths,
|
new = darr_append_nz(session->notify_xpaths,
|
||||||
darr_len(selectors));
|
darr_len(selectors));
|
||||||
memcpy(new, selectors, darr_len(selectors) * sizeof(*selectors));
|
memcpy(new, selectors, darr_len(selectors) * sizeof(*selectors));
|
||||||
|
|
Loading…
Reference in a new issue