From 81d57419f221b9a7940ee968d0ef82e945c1973b Mon Sep 17 00:00:00 2001 From: Lev Walkin <vlm@lionet.info> Date: Thu, 24 Mar 2005 14:40:22 +0000 Subject: [PATCH] printing charsdefn values --- libasn1fix/asn1fix_misc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libasn1fix/asn1fix_misc.c b/libasn1fix/asn1fix_misc.c index 15a16860..b82afaee 100644 --- a/libasn1fix/asn1fix_misc.c +++ b/libasn1fix/asn1fix_misc.c @@ -60,6 +60,22 @@ asn1f_printable_value(asn1p_value_t *v) { case ATV_MAX: return "MAX"; case ATV_FALSE: return "FALSE"; case ATV_TRUE: return "TRUE"; + case ATV_TUPLE: + ret = snprintf(buf, sizeof(buf), "{%d, %d}", + (int)(v->value.v_integer >> 4), + (int)(v->value.v_integer & 0xff)); + if(ret >= (ssize_t)sizeof(buf)) + memcpy(buf + sizeof(buf) - 4, "...", 4); + return buf; + case ATV_QUADRUPLE: + ret = snprintf(buf, sizeof(buf), "{%d, %d, %d, %d}", + (int)((v->value.v_integer >> 24) & 0xff), + (int)((v->value.v_integer >> 16) & 0xff), + (int)((v->value.v_integer >> 8) & 0xff), + (int)(v->value.v_integer & 0xff)); + if(ret >= (ssize_t)sizeof(buf)) + memcpy(buf + sizeof(buf) - 4, "...", 4); + return buf; case ATV_STRING: case ATV_UNPARSED: /* Buffer is guaranteed to be null-terminated */ -- GitLab