@@ -355,6 +355,7 @@ ctxs_node(const struct lysc_node *node, struct ly_ht *ht, int *size)
355355 const struct lysc_node_anydata * any ;
356356 const struct lysc_node_case * cas ;
357357 const struct lysc_node_action * act ;
358+ const struct lysc_node_action_inout * inout ;
358359 const struct lysc_node_notif * notif ;
359360 const struct lysc_node * child ;
360361 LY_ARRAY_COUNT_TYPE u ;
@@ -453,14 +454,18 @@ ctxs_node(const struct lysc_node *node, struct ly_ht *ht, int *size)
453454 * size += CTXP_MEM_SIZE (sizeof * act );
454455
455456 ctxs_whens ((const struct lysc_when * * )act -> when , ht , size );
456- LY_LIST_FOR (act -> input .child , child ) {
457- ctxs_node (child , ht , size );
458- }
459- ctxs_musts (act -> input .musts , ht , size );
460- LY_LIST_FOR (act -> output .child , child ) {
457+ ctxs_node ((struct lysc_node * )& act -> input , ht , size );
458+ ctxs_node ((struct lysc_node * )& act -> output , ht , size );
459+ break ;
460+ case LYS_INPUT :
461+ case LYS_OUTPUT :
462+ inout = (const struct lysc_node_action_inout * )node ;
463+ /* node a member of rpc/action */
464+
465+ LY_LIST_FOR (inout -> child , child ) {
461466 ctxs_node (child , ht , size );
462467 }
463- ctxs_musts (act -> output . musts , ht , size );
468+ ctxs_musts (inout -> musts , ht , size );
464469 break ;
465470 case LYS_NOTIF :
466471 notif = (const struct lysc_node_notif * )node ;
0 commit comments