aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1fix
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2017-08-04 01:38:41 -0700
committerLev Walkin <vlm@lionet.info>2017-08-04 01:38:41 -0700
commitda997b1ea17f2bf45281d94cb876b3b71a3bdf20 (patch)
tree145ee8d1520563c08ca8be7af348adf124b3976e /libasn1fix
parent2b290bef16a01beebb4bbf7212f789241d973d7e (diff)
work in 128-bit integer values while compiling
Diffstat (limited to 'libasn1fix')
-rw-r--r--libasn1fix/asn1fix_crange.c6
-rw-r--r--libasn1fix/asn1fix_enum.c17
-rw-r--r--libasn1fix/asn1fix_misc.c3
3 files changed, 14 insertions, 12 deletions
diff --git a/libasn1fix/asn1fix_crange.c b/libasn1fix/asn1fix_crange.c
index 5b854646..fc61a972 100644
--- a/libasn1fix/asn1fix_crange.c
+++ b/libasn1fix/asn1fix_crange.c
@@ -157,7 +157,7 @@ _edge_value(const asn1cnst_edge_t *edge) {
case ARE_MIN: strcpy(buf, "MIN"); break;
case ARE_MAX: strcpy(buf, "MAX"); break;
case ARE_VALUE:
- snprintf(buf, sizeof(buf), "%" PRIdASN, edge->value);
+ snprintf(buf, sizeof(buf), "%s", asn1p_itoa(edge->value));
break;
default:
assert(!"edge->type");
@@ -258,9 +258,9 @@ static int _range_fill(asn1p_value_t *val, const asn1cnst_range_t *minmax, asn1c
switch(val->type) {
case ATV_INTEGER:
if(type != ACT_EL_RANGE && type != ACT_CT_SIZE) {
- FATAL("Integer %" PRIdASN " value invalid "
+ FATAL("Integer %s value invalid "
"for %s constraint at line %d",
- val->value.v_integer,
+ asn1p_itoa(val->value.v_integer),
asn1p_constraint_type2str(type), lineno);
return -1;
}
diff --git a/libasn1fix/asn1fix_enum.c b/libasn1fix/asn1fix_enum.c
index 399cb625..ac543f20 100644
--- a/libasn1fix/asn1fix_enum.c
+++ b/libasn1fix/asn1fix_enum.c
@@ -115,16 +115,19 @@ asn1f_fix_enum(arg_t *arg) {
if (eval > max_value_ext) {
max_value_ext = eval;
} else {
- FATAL(
+ char max_value_buf[128];
+ asn1p_itoa_s(max_value_buf, sizeof(max_value_buf),
+ max_value_ext);
+ FATAL(
"Enumeration %s at line %d: "
- "Explicit value \"%s(%" PRIdASN ")\" "
+ "Explicit value \"%s(%s)\" "
"is not greater "
- "than previous values (max %" PRIdASN ")",
+ "than previous values (max %s)",
expr->Identifier,
ev->_lineno,
ev->Identifier,
- eval,
- max_value_ext);
+ asn1p_itoa(eval),
+ max_value_buf);
rvalue = -1;
}
}
@@ -143,12 +146,12 @@ asn1f_fix_enum(arg_t *arg) {
if (used_vals[uv_idx] == eval) {
FATAL(
"Enumeration %s at line %d: "
- "Explicit value \"%s(%" PRIdASN ")\" "
+ "Explicit value \"%s(%s)\" "
"collides with previous values",
expr->Identifier,
ev->_lineno,
ev->Identifier,
- eval);
+ asn1p_itoa(eval));
rvalue = -1;
unique = 0;
}
diff --git a/libasn1fix/asn1fix_misc.c b/libasn1fix/asn1fix_misc.c
index 88e8d18a..e5f4f797 100644
--- a/libasn1fix/asn1fix_misc.c
+++ b/libasn1fix/asn1fix_misc.c
@@ -50,8 +50,7 @@ asn1f_printable_value(asn1p_value_t *v) {
memcpy(buf + sizeof(buf) - 4, "...", 4);
return buf;
case ATV_INTEGER:
- ret = snprintf(buf, sizeof(buf), "%" PRIdASN,
- v->value.v_integer);
+ ret = snprintf(buf, sizeof(buf), "%s", asn1p_itoa(v->value.v_integer));
if(ret >= (ssize_t)sizeof(buf))
memcpy(buf + sizeof(buf) - 4, "...", 4);
return buf;