Commit bc407267 authored by Lev Walkin's avatar Lev Walkin

explicit extensibility of object sets

parent 53a28a26
...@@ -22,6 +22,7 @@ void asn1p_ioc_row_delete(asn1p_ioc_row_t *); ...@@ -22,6 +22,7 @@ void asn1p_ioc_row_delete(asn1p_ioc_row_t *);
typedef struct asn1p_ioc_table_s { typedef struct asn1p_ioc_table_s {
asn1p_ioc_row_t **row; asn1p_ioc_row_t **row;
size_t rows; size_t rows;
int extensible; /* 0 if non-extensible (sealed). Otherwise, extensible. */
} asn1p_ioc_table_t; } asn1p_ioc_table_t;
asn1p_ioc_table_t *asn1p_ioc_table_new(void); asn1p_ioc_table_t *asn1p_ioc_table_new(void);
......
...@@ -830,8 +830,9 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri ...@@ -830,8 +830,9 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri
asn1p_ioc_row_t *row; asn1p_ioc_row_t *row;
row = tc->ioc_table->row[r<0?0:r]; row = tc->ioc_table->row[r<0?0:r];
if(r < 0) safe_printf("-- %s", r > 9 ? " " : ""); if(r < 0) safe_printf("-- %s", r > 9 ? " " : "");
else safe_printf("-- [%*d]", r > 9 ? 2 : 1, r+1); else
for(col = 0; col < row->columns; col++) { safe_printf("-- [%*d]", (tc->ioc_table->rows > 9) + 1, r + 1);
for(col = 0; col < row->columns; col++) {
struct asn1p_ioc_cell_s *cell; struct asn1p_ioc_cell_s *cell;
cell = &row->column[col]; cell = &row->column[col];
if(r < 0) { if(r < 0) {
...@@ -848,7 +849,10 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri ...@@ -848,7 +849,10 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri
} }
safe_printf("\n"); safe_printf("\n");
} }
} while(0); if(tc->ioc_table->extensible) {
safe_printf("-- [%*s] ...\n", (tc->ioc_table->rows>9)+1, "");
}
} while(0);
if(flags & APF_PRINT_CLASS_MATRIX if(flags & APF_PRINT_CLASS_MATRIX
&& tc->lhs_params) do { && tc->lhs_params) do {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment