aboutsummaryrefslogtreecommitdiffstats
path: root/asn1c
diff options
context:
space:
mode:
authorLev Walkin <vlm@lionet.info>2004-09-22 16:06:28 +0000
committerLev Walkin <vlm@lionet.info>2004-09-22 16:06:28 +0000
commita9cc46e3f3c30ddd3f2a8f712c9f0acdc793fda7 (patch)
tree3ca369d58e29a24dc08ec01d4a3e4cac2020fe26 /asn1c
parente4d6ab83d7937337f1c19acfb4353fd0d43180dd (diff)
XER support
Diffstat (limited to 'asn1c')
-rw-r--r--asn1c/tests/check-22.c11
-rw-r--r--asn1c/tests/check-31.c1
-rw-r--r--asn1c/tests/check-35.c7
-rw-r--r--asn1c/tests/check-41.c49
-rw-r--r--asn1c/tests/check-48.c4
5 files changed, 43 insertions, 29 deletions
diff --git a/asn1c/tests/check-22.c b/asn1c/tests/check-22.c
index 02227822..6a353803 100644
--- a/asn1c/tests/check-22.c
+++ b/asn1c/tests/check-22.c
@@ -48,7 +48,8 @@ static void
check(int is_ok, uint8_t *buf, int size, size_t consumed) {
T1_t t, *tp;
ber_dec_rval_t rval;
- der_enc_rval_t erval;
+ asn_enc_rval_t erval;
+ int ret;
int i;
tp = memset(&t, 0, sizeof(t));
@@ -104,8 +105,12 @@ check(int is_ok, uint8_t *buf, int size, size_t consumed) {
assert(buf1[i] == buf2[i]);
}
- fprintf(stderr, "=== PRINT ===\n");
- asn_fprint(stderr, &asn1_DEF_T1, tp);
+ fprintf(stderr, "=== asn_fprint() ===\n");
+ ret = asn_fprint(stderr, &asn1_DEF_T1, tp);
+ assert(ret == 0);
+ fprintf(stderr, "=== xer_fprint() ===\n");
+ ret = xer_fprint(stderr, &asn1_DEF_T1, tp);
+ assert(ret == 0);
fprintf(stderr, "=== EOF ===\n");
}
diff --git a/asn1c/tests/check-31.c b/asn1c/tests/check-31.c
index 4b13f080..b0a47b98 100644
--- a/asn1c/tests/check-31.c
+++ b/asn1c/tests/check-31.c
@@ -136,6 +136,7 @@ check(int is_ok, uint8_t *buf, int size, size_t consumed) {
assert(buf_pos == sizeof(buf1_reconstr));
asn_fprint(stderr, &asn1_DEF_Forest, &t);
+ xer_fprint(stderr, &asn1_DEF_Forest, &t);
asn1_DEF_Forest.free_struct(&asn1_DEF_Forest, &t, 1);
}
diff --git a/asn1c/tests/check-35.c b/asn1c/tests/check-35.c
index 1d260f08..bc223946 100644
--- a/asn1c/tests/check-35.c
+++ b/asn1c/tests/check-35.c
@@ -131,6 +131,9 @@ check(T_t *tp, uint8_t *buf, int size, size_t consumed) {
assert(strcmp(tp->a.buf, "ns") == 0);
assert(strcmp(tp->b.choice.b1.buf, "z") == 0
&& strcmp(tp->b.choice.b2.buf, "z") == 0);
+
+ asn_fprint(stderr, &asn1_DEF_T, tp);
+ xer_fprint(stderr, &asn1_DEF_T, tp);
}
size_t buf_pos;
@@ -157,7 +160,7 @@ buf_fill(const void *buffer, size_t size, void *app_key) {
static void
compare(T_t *tp, uint8_t *cmp_buf, int cmp_buf_size) {
- der_enc_rval_t erval;
+ asn_enc_rval_t erval;
int i;
buf_size = cmp_buf_size + 100;
@@ -268,12 +271,10 @@ main(int ac, char **av) {
check(&t, buf1, sizeof(buf1) + 10, sizeof(buf1));
compare(&t, buf1_reconstr, sizeof(buf1_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
check(&t, buf2, sizeof(buf2) + 10, sizeof(buf2));
compare(&t, buf2_reconstr, sizeof(buf2_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Split the buffer in parts and check decoder restartability */
diff --git a/asn1c/tests/check-41.c b/asn1c/tests/check-41.c
index fc2ce66f..33634e86 100644
--- a/asn1c/tests/check-41.c
+++ b/asn1c/tests/check-41.c
@@ -132,10 +132,11 @@ uint8_t buf2_reconstr[] = {
static void
check(T_t *tp, uint8_t *buf, int size, size_t consumed) {
ber_dec_rval_t rval;
+ int ret;
tp = memset(tp, 0, sizeof(*tp));
- fprintf(stderr, "Buf %p (%d)\n", buf, size);
+ fprintf(stderr, "Buf %p (%d)\n", (int)buf, (int)size);
rval = ber_decode(&asn1_DEF_T, (void **)&tp, buf, size);
fprintf(stderr, "Returned code %d, consumed %d\n",
(int)rval.code, (int)rval.consumed);
@@ -143,6 +144,14 @@ check(T_t *tp, uint8_t *buf, int size, size_t consumed) {
assert(rval.code == RC_OK);
assert(rval.consumed == consumed);
+ fprintf(stderr, "=== asn_fprint() ===\n");
+ ret = asn_fprint(stderr, &asn1_DEF_T, tp);
+ assert(ret == 0);
+ fprintf(stderr, "=== xer_fprint() ===\n");
+ ret = xer_fprint(stderr, &asn1_DEF_T, tp);
+ fprintf(stderr, "=== END ===\n");
+ assert(ret == 0);
+
/*
assert(tp->string.size == 128);
assert(strncmp(tp->string.buf, "zz") == 0);
@@ -153,32 +162,33 @@ check(T_t *tp, uint8_t *buf, int size, size_t consumed) {
size_t buf_pos;
size_t buf_size;
-uint8_t *buf;
+uint8_t *buffer;
static int
-buf_fill(const void *buffer, size_t size, void *app_key) {
+buf_fill(const void *bufp, size_t size, void *app_key) {
(void)app_key; /* Unused argument */
if(buf_pos + size > buf_size) {
- fprintf(stderr, "%d + %d > %d\n", buf_pos, (int)size, buf_size);
+ fprintf(stderr, "%d + %d > %d\n",
+ (int)buf_pos, (int)size, (int)buf_size);
return -1;
}
- memcpy(buf + buf_pos, buffer, size);
+ memcpy(buffer + buf_pos, bufp, size);
buf_pos += size;
- fprintf(stderr, " written %d (%d)\n", (int)size, buf_pos);
+ fprintf(stderr, " written %d (%d)\n", (int)size, (int)buf_pos);
return 0;
}
static void
compare(T_t *tp, uint8_t *cmp_buf, int cmp_buf_size) {
- der_enc_rval_t erval;
+ asn_enc_rval_t erval;
int i;
buf_size = cmp_buf_size + 100;
- buf = alloca(buf_size);
+ buffer = alloca(buf_size);
buf_pos = 0;
/*
@@ -187,19 +197,19 @@ compare(T_t *tp, uint8_t *cmp_buf, int cmp_buf_size) {
erval = der_encode(&asn1_DEF_T, tp, buf_fill, 0);
assert(erval.encoded != -1);
if(erval.encoded != cmp_buf_size) {
- printf("%d != %d\n", erval.encoded, cmp_buf_size);
+ printf("%d != %d\n", (int)erval.encoded, (int)cmp_buf_size);
}
assert(erval.encoded == cmp_buf_size);
for(i = 0; i < cmp_buf_size; i++) {
- if(buf[i] != cmp_buf[i]) {
+ if(buffer[i] != cmp_buf[i]) {
fprintf(stderr, "Recreated buffer content mismatch:\n");
fprintf(stderr, "Byte %d, %x != %x (%d != %d)\n",
i,
- buf[i], cmp_buf[i],
- buf[i], cmp_buf[i]
+ buffer[i], cmp_buf[i],
+ buffer[i], cmp_buf[i]
);
}
- assert(buf[i] == cmp_buf[i]);
+ assert(buffer[i] == cmp_buf[i]);
}
}
@@ -230,7 +240,7 @@ partial_read(uint8_t *buf, size_t size) {
size_t size3 = size - size1 - size2;
fprintf(stderr, "\n%d:{%d, %d, %d}...\n",
- size, size1, size2, size3);
+ (int)size, (int)size1, (int)size2, (int)size3);
memset(buf1, 0, size);
memset(buf2, 0, size);
@@ -241,7 +251,7 @@ partial_read(uint8_t *buf, size_t size) {
tp = memset(&t, 0, sizeof(t));
- fprintf(stderr, "=> Chunk 1 (%d):\n", size1);
+ fprintf(stderr, "=> Chunk 1 (%d):\n", (int)size1);
rval = ber_decode(&asn1_DEF_T, (void **)&tp,
buf1, size1);
assert(rval.code == RC_WMORE);
@@ -253,7 +263,7 @@ partial_read(uint8_t *buf, size_t size) {
size2 += leftover;
}
- fprintf(stderr, "=> Chunk 2 (%d):\n", size2);
+ fprintf(stderr, "=> Chunk 2 (%d):\n", (int)size2);
rval = ber_decode(&asn1_DEF_T, (void **)&tp,
buf2, size2);
assert(rval.code == RC_WMORE);
@@ -265,7 +275,7 @@ partial_read(uint8_t *buf, size_t size) {
size3 += leftover;
}
- fprintf(stderr, "=> Chunk 3 (%d):\n", size3);
+ fprintf(stderr, "=> Chunk 3 (%d):\n", (int)size3);
rval = ber_decode(&asn1_DEF_T, (void **)&tp,
buf3, size3);
assert(rval.code == RC_OK);
@@ -283,31 +293,26 @@ main() {
/* Check exact buf0 */
check(&t, buf0, sizeof(buf0), sizeof(buf0));
compare(&t, buf0_reconstr, sizeof(buf0_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Check exact buf1 */
check(&t, buf1, sizeof(buf1), sizeof(buf1));
compare(&t, buf1_reconstr, sizeof(buf1_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Check slightly more than buf1 */
check(&t, buf1, sizeof(buf1) + 10, sizeof(buf1));
compare(&t, buf1_reconstr, sizeof(buf1_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Check exact buf2 */
check(&t, buf2, sizeof(buf2), sizeof(buf2));
compare(&t, buf2_reconstr, sizeof(buf2_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Check slightly more than buf2 */
check(&t, buf2, sizeof(buf2) + 10, sizeof(buf2));
compare(&t, buf2_reconstr, sizeof(buf2_reconstr));
- asn_fprint(stderr, &asn1_DEF_T, &t);
asn1_DEF_T.free_struct(&asn1_DEF_T, &t, 1);
/* Split the buffer in parts and check decoder restartability */
diff --git a/asn1c/tests/check-48.c b/asn1c/tests/check-48.c
index 8c4f395f..84227680 100644
--- a/asn1c/tests/check-48.c
+++ b/asn1c/tests/check-48.c
@@ -29,7 +29,7 @@ _buf_writer(const void *buffer, size_t size, void *app_key) {
static int
save_object(void *bs, asn1_TYPE_descriptor_t *td) {
- der_enc_rval_t rval; /* Return value */
+ asn_enc_rval_t rval; /* Return value */
int i;
rval = der_encode(td, bs, _buf_writer, 0);
@@ -44,6 +44,7 @@ save_object(void *bs, asn1_TYPE_descriptor_t *td) {
buf[buf_offset++] = 123; /* Finalize with garbage */
asn_fprint(stderr, td, bs);
+ xer_fprint(stderr, td, bs);
printf("OUT: [");
for(i = 0; i < buf_offset; i++)
@@ -63,6 +64,7 @@ load_object(void *bs, asn1_TYPE_descriptor_t *td) {
assert(rval.code == RC_OK);
asn_fprint(stderr, td, bs);
+ xer_fprint(stderr, td, bs);
return (rval.code == RC_OK)?0:-1;
}