work in 128-bit integer values while compiling
diff --git a/libasn1print/asn1print.c b/libasn1print/asn1print.c
index 9d0004f..037e713 100644
--- a/libasn1print/asn1print.c
+++ b/libasn1print/asn1print.c
@@ -156,11 +156,11 @@
 		if(arcname) {
 			accum += safe_printf("%s", arcname);
 			if(oid->arcs[ac].number >= 0) {
-				accum += safe_printf("(%" PRIdASN ")",
-					oid->arcs[ac].number);
+				accum += safe_printf("(%s)",
+					asn1p_itoa(oid->arcs[ac].number));
 			}
 		} else {
-			accum += safe_printf("%" PRIdASN, oid->arcs[ac].number);
+			accum += safe_printf("%s", asn1p_itoa(oid->arcs[ac].number));
 		}
 	}
 	safe_printf(" }");
@@ -214,7 +214,7 @@
 			val->value.v_type, flags, 0);
 		return 0;
 	case ATV_INTEGER:
-		safe_printf("%" PRIdASN, val->value.v_integer);
+		safe_printf("%s", asn1p_itoa(val->value.v_integer));
 		return 0;
 	case ATV_MIN: safe_printf("MIN"); return 0;
 	case ATV_MAX: safe_printf("MAX"); return 0;
@@ -476,7 +476,7 @@
 		if(as_char) {
 			safe_printf("\"%c\"", (unsigned char)edge->value);
 		} else {
-			safe_printf("%" PRIdASN, edge->value);
+			safe_printf("%s", asn1p_itoa(edge->value));
 		}
 	}
 	return 0;