yin parser CHANGE add support for rpc element
diff --git a/src/parser_yin.c b/src/parser_yin.c
index b366f86..0dfe89e 100644
--- a/src/parser_yin.c
+++ b/src/parser_yin.c
@@ -2123,6 +2123,7 @@
(subelem->dest) ? *((uint32_t*)subelem->dest) : 0, exts);
break;
case YANG_ACTION:
+ case YANG_RPC:
ret = yin_parse_action(ctx, attrs, data, (struct action_meta *)subelem->dest);
break;
case YANG_ANYDATA:
@@ -2308,8 +2309,6 @@
case YANG_REVISION_DATE:
ret = yin_parse_revision_date(ctx, attrs, data, (char *)subelem->dest, exts);
break;
- case YANG_RPC:
- break;
case YANG_STATUS:
ret = yin_parse_status(ctx, attrs, data, (uint16_t *)subelem->dest, exts);
break;
diff --git a/tests/src/test_parser_yin.c b/tests/src/test_parser_yin.c
index a5da6de..d360e33 100644
--- a/tests/src/test_parser_yin.c
+++ b/tests/src/test_parser_yin.c
@@ -3134,6 +3134,35 @@
FREE_ARRAY(st->ctx, actions, lysp_action_free)
actions = NULL;
+ st->yin_ctx->mod_version = LYS_VERSION_1_1;
+ data = ELEMENT_WRAPPER_START
+ "<rpc name=\"act\">"
+ "<description><text>desc</text></description>"
+ "<grouping name=\"grouping\"/>"
+ "<if-feature name=\"iff\"/>"
+ "<input><uses name=\"uses-name\"/></input>"
+ "<output><must condition=\"cond\"/></output>"
+ "<reference><text>ref</text></reference>"
+ "<status value=\"deprecated\"/>"
+ "<typedef name=\"tpdf\"/>"
+ "</rpc>"
+ ELEMENT_WRAPPER_END;
+ assert_int_equal(test_element_helper(st, &data, &act_meta, NULL, NULL, true), LY_SUCCESS);
+ assert_null(actions->parent);
+ assert_int_equal(actions->nodetype, LYS_ACTION);
+ assert_true(actions->flags & LYS_STATUS_DEPRC);
+ assert_string_equal(actions->name, "act");
+ assert_string_equal(actions->dsc, "desc");
+ assert_string_equal(actions->ref, "ref");
+ assert_string_equal(*actions->iffeatures, "iff");
+ assert_string_equal(actions->typedefs->name, "tpdf");
+ assert_string_equal(actions->groupings->name, "grouping");
+ assert_string_equal(actions->input.data->name, "uses-name");
+ assert_string_equal(actions->output.musts->arg, "cond");
+ assert_null(actions->exts);
+ FREE_ARRAY(st->ctx, actions, lysp_action_free)
+ actions = NULL;
+
/* min subelems */
data = ELEMENT_WRAPPER_START "<action name=\"act\" />" ELEMENT_WRAPPER_END;
assert_int_equal(test_element_helper(st, &data, &act_meta, NULL, NULL, true), LY_SUCCESS);