clean-up; removed unnecessary field from type descriptor
diff --git a/skeletons/constr_CHOICE.c b/skeletons/constr_CHOICE.c
index 41fbae3..5ad33c8 100644
--- a/skeletons/constr_CHOICE.c
+++ b/skeletons/constr_CHOICE.c
@@ -148,7 +148,7 @@
if(tag_mode || td->tags_count) {
rval = ber_check_tags(td, ctx, ptr, size,
- tag_mode, &ctx->left, 0);
+ tag_mode, -1, &ctx->left, 0);
if(rval.code != RC_OK) {
ASN_DEBUG("%s tagging check failed: %d",
td->name, rval.code);
@@ -425,7 +425,7 @@
return erval;
/* Encode CHOICE with parent or my own tag */
- ret = der_write_tags(td, erval.encoded, tag_mode, tag,
+ ret = der_write_tags(td, erval.encoded, tag_mode, 1, tag,
cb, app_key);
if(ret == -1) {
erval.encoded = -1;
@@ -597,7 +597,7 @@
asn1_CHOICE_specifics_t *specs = (asn1_CHOICE_specifics_t *)td->specifics;
int present;
- if(!sptr) return cb("<absent>", 8, app_key);
+ if(!sptr) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
/*
* Figure out which CHOICE element is encoded.
@@ -613,22 +613,22 @@
if(elm->flags & ATF_POINTER) {
memb_ptr = *(const void * const *)((const char *)sptr + elm->memb_offset);
- if(!memb_ptr) return cb("<absent>", 8, app_key);
+ if(!memb_ptr) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
} else {
memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
}
/* Print member's name and stuff */
if(0) {
- if(cb(elm->name, strlen(elm->name), app_key)
- || cb(": ", 2, app_key))
+ if(cb(elm->name, strlen(elm->name), app_key) < 0
+ || cb(": ", 2, app_key) < 0)
return -1;
}
return elm->type->print_struct(elm->type, memb_ptr, ilevel,
cb, app_key);
} else {
- return cb("<absent>", 8, app_key);
+ return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
}
}