yang printer: CHANGE: type print extended
diff --git a/src/printer/yang.c b/src/printer/yang.c
index 96baa3f..041be1e 100644
--- a/src/printer/yang.c
+++ b/src/printer/yang.c
@@ -111,6 +111,17 @@
}
level++;
switch (type->base) {
+ case LY_TYPE_BINARY:
+ if (type->info.binary.length != NULL) {
+ fprintf(f, "%*slength \"%s\";\n", LEVEL, INDENT, type->info.binary.length);
+ }
+ break;
+ case LY_TYPE_BITS:
+ /* TODO */
+ break;
+ case LY_TYPE_DEC64:
+ /* TODO */
+ break;
case LY_TYPE_ENUM:
for (i = 0; i < type->info.enums.count; i++) {
fprintf(f, "%*senum %s {\n", LEVEL, INDENT, type->info.enums.list[i].name);
@@ -128,8 +139,32 @@
fprintf(f, "%*sbase %s:%s;\n", LEVEL, INDENT, type->info.ident.ref->module->prefix, type->info.ident.ref->name);
}
break;
+ case LY_TYPE_INST:
+ /* TODO */
+ break;
+ case LY_TYPE_INT8:
+ case LY_TYPE_INT16:
+ case LY_TYPE_INT32:
+ case LY_TYPE_INT64:
+ case LY_TYPE_UINT8:
+ case LY_TYPE_UINT16:
+ case LY_TYPE_UINT32:
+ case LY_TYPE_UINT64:
+ if (type->info.num.range != NULL) {
+ fprintf(f, "%*srange \"%s\";\n", LEVEL, INDENT, type->info.num.range);
+ }
+ break;
+ case LY_TYPE_LEAFREF:
+ /* TODO */
+ break;
+ case LY_TYPE_STRING:
+ /* TODO */
+ break;
+ case LY_TYPE_UNION:
+ /* TODO */
+ break;
default:
- /* TODO other cases */
+ /* other types do not have substatements */
break;
}
level--;