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