parser & printer CHANGE identref can have multiple bases in YANG 1.1
diff --git a/src/printer_yang.c b/src/printer_yang.c
index 28dac18..f7dfb41 100644
--- a/src/printer_yang.c
+++ b/src/printer_yang.c
@@ -383,14 +383,16 @@
}
break;
case LY_TYPE_IDENT:
- if (type->info.ident.ref) {
+ if (type->info.ident.count) {
yang_print_open(out, &flag);
- mod = lys_main_module(type->info.ident.ref->module);
- if (lys_main_module(module) == mod) {
- ly_print(out, "%*sbase %s;\n", LEVEL, INDENT, type->info.ident.ref->name);
- } else {
- ly_print(out, "%*sbase %s:%s;\n", LEVEL, INDENT, transform_module_name2import_prefix(module, mod->name),
- type->info.ident.ref->name);
+ for (i = 0; i < type->info.ident.count; ++i) {
+ mod = lys_main_module(type->info.ident.ref[i]->module);
+ if (lys_main_module(module) == mod) {
+ ly_print(out, "%*sbase %s;\n", LEVEL, INDENT, type->info.ident.ref[i]->name);
+ } else {
+ ly_print(out, "%*sbase %s:%s;\n", LEVEL, INDENT, transform_module_name2import_prefix(module, mod->name),
+ type->info.ident.ref[i]->name);
+ }
}
}
break;