diff --git a/src/confd/src/lib/lyx.c b/src/confd/src/lib/lyx.c index 598c2984..11db09ac 100644 --- a/src/confd/src/lib/lyx.c +++ b/src/confd/src/lib/lyx.c @@ -17,15 +17,19 @@ enum lydx_op lydx_get_op(struct lyd_node *node) if (opstr && !strcmp(opstr, "delete")) return LYDX_OP_DELETE; + if (opstr && !strcmp(opstr, "replace")) + return LYDX_OP_REPLACE; + return LYDX_OP_NONE; } void lydx_diff_print(struct lydx_diff *nd, FILE *fp) { static const char opchar[] = { - [LYDX_OP_CREATE] = '+', - [LYDX_OP_DELETE] = '-', - [LYDX_OP_NONE] = '%', + [LYDX_OP_CREATE] = '+', + [LYDX_OP_DELETE] = '-', + [LYDX_OP_REPLACE] = '|', + [LYDX_OP_NONE] = '%', }; fprintf(fp, "%c%s %s%s ->%s%s\n", diff --git a/src/confd/src/lib/lyx.h b/src/confd/src/lib/lyx.h index 7d4e91e9..3a3a5ec2 100644 --- a/src/confd/src/lib/lyx.h +++ b/src/confd/src/lib/lyx.h @@ -15,6 +15,7 @@ enum lydx_op { LYDX_OP_NONE, LYDX_OP_CREATE, LYDX_OP_DELETE, + LYDX_OP_REPLACE, }; struct lydx_diff {