diff options
Diffstat (limited to '')
-rw-r--r-- | src/schema_compile_node.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/schema_compile_node.c b/src/schema_compile_node.c index a627799..d57d8a7 100644 --- a/src/schema_compile_node.c +++ b/src/schema_compile_node.c @@ -1390,7 +1390,7 @@ lys_compile_type_patterns(struct lysc_ctx *ctx, const struct lysp_restr *pattern if (patterns_p[u].arg.str[0] == LYSP_RESTR_PATTERN_NACK) { (*pattern)->inverted = 1; } - DUP_STRING_GOTO(ctx->ctx, &patterns_p[u].arg.str[1], (*pattern)->expr, ret, done); + LY_CHECK_GOTO(ret = lydict_insert(ctx->ctx, &patterns_p[u].arg.str[1], 0, &(*pattern)->expr), done); DUP_STRING_GOTO(ctx->ctx, patterns_p[u].eapptag, (*pattern)->eapptag, ret, done); DUP_STRING_GOTO(ctx->ctx, patterns_p[u].emsg, (*pattern)->emsg, ret, done); DUP_STRING_GOTO(ctx->ctx, patterns_p[u].dsc, (*pattern)->dsc, ret, done); @@ -2582,10 +2582,10 @@ lys_compile_node_connect(struct lysc_ctx *ctx, struct lysc_node *parent, struct } } else { /* top-level element */ - struct lysc_node **list; + struct lysc_node **list = NULL; if (ctx->ext) { - lyplg_ext_get_storage_p(ctx->ext, LY_STMT_DATA_NODE_MASK, (uint64_t *)&list); + lyplg_ext_get_storage_p(ctx->ext, LY_STMT_DATA_NODE_MASK, (void ***)&list); } else if (node->nodetype == LYS_RPC) { list = (struct lysc_node **)&ctx->cur_mod->compiled->rpcs; } else if (node->nodetype == LYS_NOTIF) { @@ -2794,7 +2794,6 @@ lys_compile_node_action_inout(struct lysc_ctx *ctx, struct lysp_node *pnode, str struct lysc_node_action_inout *inout = (struct lysc_node_action_inout *)node; COMPILE_ARRAY_GOTO(ctx, inout_p->musts, inout->musts, lys_compile_must, ret, done); - COMPILE_EXTS_GOTO(ctx, inout_p->exts, inout->exts, inout, ret, done); ctx->compile_opts |= (inout_p->nodetype == LYS_INPUT) ? LYS_COMPILE_RPC_INPUT : LYS_COMPILE_RPC_OUTPUT; LY_LIST_FOR(inout_p->child, child_p) { |