@@ -3171,32 +3171,16 @@ lyd_diff_reverse_siblings_r(struct lyd_node *sibling, const struct lys_module *y
31713171 /* reverse create to delete */
31723172 LY_CHECK_GOTO (rc = lyd_diff_change_op (iter , LYD_DIFF_OP_DELETE ), cleanup );
31733173
3174- switch (iter -> schema -> nodetype ) {
3175- case LYS_LEAF :
3176- case LYS_ANYXML :
3177- case LYS_ANYDATA :
3178- /* nothing to do */
3179- break ;
3180- case LYS_LEAFLIST :
3181- /* leaf-list create -> delete */
3174+ /* reverse user-ordered metadata */
3175+ if (lysc_is_userordered (iter -> schema )) {
31823176 if (lysc_is_dup_inst_list (iter -> schema )) {
31833177 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "position" , "orig-position" ), cleanup );
3184- } else {
3178+ } else if ( iter -> schema -> nodetype == LYS_LEAFLIST ) {
31853179 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "value" , "orig-value" ), cleanup );
3186- }
3187- break ;
3188- case LYS_LIST :
3189- /* list create -> delete */
3190- if (lysc_is_dup_inst_list (iter -> schema )) {
3191- LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "position" , "orig-position" ), cleanup );
31923180 } else {
3181+ assert (iter -> schema -> nodetype == LYS_LIST );
31933182 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "key" , "orig-key" ), cleanup );
31943183 }
3195- break ;
3196- default :
3197- LOGINT (LYD_CTX (iter ));
3198- rc = LY_EINT ;
3199- goto cleanup ;
32003184 }
32013185
32023186 /* keep the operation for all the children, handled recursively */
@@ -3209,32 +3193,16 @@ lyd_diff_reverse_siblings_r(struct lyd_node *sibling, const struct lys_module *y
32093193 /* reverse delete to create */
32103194 LY_CHECK_GOTO (rc = lyd_diff_change_op (iter , LYD_DIFF_OP_CREATE ), cleanup );
32113195
3212- switch (iter -> schema -> nodetype ) {
3213- case LYS_LEAF :
3214- case LYS_ANYXML :
3215- case LYS_ANYDATA :
3216- /* nothing to do */
3217- break ;
3218- case LYS_LEAFLIST :
3219- /* leaf-list delete -> create */
3196+ /* reverse user-ordered metadata */
3197+ if (lysc_is_userordered (iter -> schema )) {
32203198 if (lysc_is_dup_inst_list (iter -> schema )) {
32213199 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "orig-position" , "position" ), cleanup );
3222- } else {
3200+ } else if ( iter -> schema -> nodetype == LYS_LEAFLIST ) {
32233201 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "orig-value" , "value" ), cleanup );
3224- }
3225- break ;
3226- case LYS_LIST :
3227- /* list dlete -> create */
3228- if (lysc_is_dup_inst_list (iter -> schema )) {
3229- LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "orig-position" , "position" ), cleanup );
32303202 } else {
3203+ assert (iter -> schema -> nodetype == LYS_LIST );
32313204 LY_CHECK_GOTO (rc = lyd_diff_rename_meta (iter , yang_mod , "orig-key" , "key" ), cleanup );
32323205 }
3233- break ;
3234- default :
3235- LOGINT (LYD_CTX (iter ));
3236- rc = LY_EINT ;
3237- goto cleanup ;
32383206 }
32393207
32403208 /* keep the operation for all the children, handled recursively */
0 commit comments