diff options
author | Lev Walkin <vlm@lionet.info> | 2004-09-05 10:38:50 +0000 |
---|---|---|
committer | Lev Walkin <vlm@lionet.info> | 2004-09-05 10:38:50 +0000 |
commit | 0056aec2069e306d0909f169c4ca9558324db97f (patch) | |
tree | 596b5add0bfaa020a3ef68d0ffa81a428d7bb8f0 /libasn1print | |
parent | 23b7c45e762dc82cd77e9bf99cf63457fa50e26a (diff) |
better pretty-printing;
Diffstat (limited to 'libasn1print')
-rw-r--r-- | libasn1print/asn1print.c | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c index a07a894c..e8281df6 100644 --- a/libasn1print/asn1print.c +++ b/libasn1print/asn1print.c @@ -100,9 +100,11 @@ asn1print_oid(asn1p_oid_t *oid, enum asn1print_flags flags) { } else if(ac) printf(" "); if(oid->arcs[ac].name) { - printf("%s(%d)", - oid->arcs[ac].name, - (int)oid->arcs[ac].number); + printf("%s", oid->arcs[ac].name); + if(oid->arcs[ac].number >= 0) { + printf("(%lld)", + (long long)oid->arcs[ac].number); + } accum += strlen(oid->arcs[ac].name); } else { printf("%d", @@ -289,7 +291,7 @@ asn1print_constraint(asn1p_constraint_t *ct, enum asn1print_flags flags) { { char *symtable[] = { " EXCEPT ", " ^ ", " | ", ",", "", "(" }; - int i; + unsigned int i; for(i = 0; i < ct->el_count; i++) { enum asn1print_flags nflags = flags; if(i) fputs(symtable[symno], stdout); @@ -562,13 +564,14 @@ asn1print_expr(asn1p_t *asn, asn1p_module_t *mod, asn1p_expr_t *tc, enum asn1pri if(tc->meta_type == AMT_VALUE && tc->expr_type != A1TC_EXTENSIBLE) { - if(tc->expr_type == A1TC_UNIVERVAL) + if(tc->expr_type == A1TC_UNIVERVAL) { printf("("); - else - printf(" ::= "); - asn1print_value(tc->value, flags); - if(tc->expr_type == A1TC_UNIVERVAL) + asn1print_value(tc->value, flags); printf(")"); + } else { + printf(" ::= "); + asn1print_value(tc->value, flags); + } } /* |