diff --git a/lib/asn1/check-gen.c b/lib/asn1/check-gen.c index 2b5403437..85274a696 100644 --- a/lib/asn1/check-gen.c +++ b/lib/asn1/check-gen.c @@ -815,12 +815,13 @@ check_tag_length64(void) } if (td[i].expected_len != sz) { printf("wrong expected size for tag test %d\n", i); - printf("sz = %d\n", sz); + printf("sz = %lu\n", (unsigned long)sz); failed = 1; } if (values[i] != u) { printf("wrong value for tag test %d\n", i); - printf("Expected value: %lld\nActual value: %lld\n", values[i], u); + printf("Expected value: %llu\nActual value: %llu\n", + (unsigned long long)values[i], (unsigned long long)u); failed = 1; } } @@ -874,12 +875,13 @@ check_tag_length64s(void) } if (td[i].expected_len != sz) { printf("wrong expected size for tag test %d\n", i); - printf("sz = %d\n", sz); + printf("sz = %lu\n", (unsigned long)sz); failed = 1; } if (values[i] != u) { printf("wrong value for tag test %d\n", i); - printf("Expected value: %lld\nActual value: %lld\n", values[i], u); + printf("Expected value: %lld\nActual value: %lld\n", + (long long)values[i], (long long)u); failed = 1; } } diff --git a/lib/asn1/gen.c b/lib/asn1/gen.c index 21ced6fc6..16b908603 100644 --- a/lib/asn1/gen.c +++ b/lib/asn1/gen.c @@ -306,7 +306,7 @@ gen_assign_defval(const char *var, struct value *val) fprintf(codefile, "if((%s = strdup(\"%s\")) == NULL)\nreturn ENOMEM;\n", var, val->u.stringvalue); break; case integervalue: - fprintf(codefile, "%s = %lld;\n", var, val->u.integervalue); + fprintf(codefile, "%s = %lld;\n", var, (long long)val->u.integervalue); break; case booleanvalue: if(val->u.booleanvalue) @@ -327,7 +327,8 @@ gen_compare_defval(const char *var, struct value *val) fprintf(codefile, "if(strcmp(%s, \"%s\") != 0)\n", var, val->u.stringvalue); break; case integervalue: - fprintf(codefile, "if(%s != %lld)\n", var, val->u.integervalue); + fprintf(codefile, "if(%s != %lld)\n", var, + (long long)val->u.integervalue); break; case booleanvalue: if(val->u.booleanvalue) @@ -400,8 +401,8 @@ generate_constant (const Symbol *s) case booleanvalue: break; case integervalue: - fprintf (headerfile, "enum { %s = %lld };\n\n", - s->gen_name, s->value->u.integervalue); + fprintf(headerfile, "enum { %s = %lld };\n\n", s->gen_name, + (long long)s->value->u.integervalue); break; case nullvalue: break; @@ -542,9 +543,10 @@ define_asn1 (int level, Type *t) case TInteger: if(t->members == NULL) { fprintf (headerfile, "INTEGER"); - if (t->range) - fprintf (headerfile, " (%lld..%lld)", - t->range->min, t->range->max); + if (t->range) { + fprintf(headerfile, " (%lld..%lld)", + (long long)t->range->min, (long long)t->range->max); + } } else { Member *m; fprintf (headerfile, "INTEGER {\n"); @@ -734,9 +736,10 @@ define_type (int level, const char *name, const char *basename, Type *t, int typ fprintf (headerfile, "int %s;\n", name); } else if (t->range->min >= 0 && t->range->max <= UINT_MAX) { fprintf (headerfile, "unsigned int %s;\n", name); - } else + } else { errx(1, "%s: unsupported range %lld -> %lld", - name, t->range->min, t->range->max); + name, (long long)t->range->min, (long long)t->range->max); + } break; case TBoolean: space(level); diff --git a/lib/asn1/gen_decode.c b/lib/asn1/gen_decode.c index 03890b041..db7696883 100644 --- a/lib/asn1/gen_decode.c +++ b/lib/asn1/gen_decode.c @@ -192,19 +192,19 @@ range_check(const char *name, "if ((%s)->%s > %lld) {\n" "e = ASN1_MAX_CONSTRAINT; %s;\n" "}\n", - name, length, r->max, forwstr); + name, length, (long long)r->max, forwstr); if (r->min - 1 == r->max || r->min < r->max) fprintf (codefile, "if ((%s)->%s < %lld) {\n" "e = ASN1_MIN_CONSTRAINT; %s;\n" "}\n", - name, length, r->min, forwstr); + name, length, (long long)r->min, forwstr); if (r->max == r->min) fprintf (codefile, "if ((%s)->%s != %lld) {\n" "e = ASN1_EXACT_CONSTRAINT; %s;\n" "}\n", - name, length, r->min, forwstr); + name, length, (long long)r->min, forwstr); } static int @@ -262,7 +262,7 @@ decode_type (const char *name, const Type *t, int optional, decode_primitive ("unsigned", name, forwstr); } else errx(1, "%s: unsupported range %lld -> %lld", - name, t->range->min, t->range->max); + name, (long long)t->range->min, (long long)t->range->max); break; case TBoolean: decode_primitive ("boolean", name, forwstr); diff --git a/lib/asn1/gen_encode.c b/lib/asn1/gen_encode.c index 1b9afc922..b8afceaee 100644 --- a/lib/asn1/gen_encode.c +++ b/lib/asn1/gen_encode.c @@ -139,7 +139,7 @@ encode_type (const char *name, const Type *t, const char *tmpstr) encode_primitive ("unsigned", name); } else errx(1, "%s: unsupported range %lld -> %lld", - name, t->range->min, t->range->max); + name, (long long)t->range->min, (long long)t->range->max); constructed = 0; break; case TBoolean: diff --git a/lib/asn1/gen_length.c b/lib/asn1/gen_length.c index b815f1a8d..883919d26 100644 --- a/lib/asn1/gen_length.c +++ b/lib/asn1/gen_length.c @@ -90,7 +90,7 @@ length_type (const char *name, const Type *t, length_primitive ("unsigned", name, variable); } else errx(1, "%s: unsupported range %lld -> %lld", - name, t->range->min, t->range->max); + name, (long long)t->range->min, (long long)t->range->max); break; case TBoolean: diff --git a/lib/asn1/gen_template.c b/lib/asn1/gen_template.c index e810504d8..cdd180c00 100644 --- a/lib/asn1/gen_template.c +++ b/lib/asn1/gen_template.c @@ -502,7 +502,7 @@ template_members(struct templatehead *temp, const char *basetype, const char *na itype = "UNSIGNED"; else errx(1, "%s: unsupported range %lld -> %lld", - name, t->range->min, t->range->max); + name, (long long)t->range->min, (long long)t->range->max); add_line(temp, "{ A1_PARSE_T(A1T_%s), %s, NULL }", itype, poffset); break;