clean-up; removed unnecessary field from type descriptor


git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@400 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/skeletons/constr_SET_OF.c b/skeletons/constr_SET_OF.c
index 0556760..2050d1a 100644
--- a/skeletons/constr_SET_OF.c
+++ b/skeletons/constr_SET_OF.c
@@ -114,7 +114,7 @@
 		 */
 
 		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);
@@ -346,7 +346,7 @@
 	/*
 	 * Encode the TLV for the sequence itself.
 	 */
-	encoding_size = der_write_tags(td, computed_size, tag_mode, tag,
+	encoding_size = der_write_tags(td, computed_size, tag_mode, 1, tag,
 		cb, app_key);
 	if(encoding_size == -1) {
 		erval.encoded = -1;
@@ -366,7 +366,8 @@
 	 * according to their encodings. Build an array of the
 	 * encoded elements.
 	 */
-	(void *)encoded_els = MALLOC(list->count * sizeof(encoded_els[0]));
+	encoded_els = (struct _el_buffer *)MALLOC(
+				list->count * sizeof(encoded_els[0]));
 	if(encoded_els == NULL) {
 		erval.encoded = -1;
 		erval.failed_type = td;
@@ -428,7 +429,7 @@
 		struct _el_buffer *encoded_el = &encoded_els[edx];
 		/* Report encoded chunks to the application */
 		if(ret == 0
-		&& cb(encoded_el->buf, encoded_el->length, app_key) == -1)
+		&& cb(encoded_el->buf, encoded_el->length, app_key) < 0)
 			ret = -1;
 		FREEMEM(encoded_el->buf);
 	}
@@ -504,11 +505,11 @@
 	int ret;
 	int i;
 
-	if(!sptr) return cb("<absent>", 8, app_key);
+	if(!sptr) return (cb("<absent>", 8, app_key) < 0) ? -1 : 0;
 
 	/* Dump preamble */
-	if(cb(td->name, strlen(td->name), app_key)
-	|| cb(" ::= {\n", 7, app_key))
+	if(cb(td->name, strlen(td->name), app_key) < 0
+	|| cb(" ::= {", 6, app_key) < 0)
 		return -1;
 
 	(const void *)list = sptr;
@@ -516,21 +517,17 @@
 		const void *memb_ptr = list->array[i];
 		if(!memb_ptr) continue;
 
-		/* Indentation */
-		for(ret = 0; ret < ilevel; ret++) cb(" ", 1, app_key);
+		_i_INDENT(1);
 
 		ret = element->type->print_struct(element->type, memb_ptr,
-			ilevel + 4, cb, app_key);
-		if(ret) return ret;
-
-		ret = cb("\n", 1, app_key);
+			ilevel + 1, cb, app_key);
 		if(ret) return ret;
 	}
 
-	/* Indentation */
-	for(ret = 0; ret < ilevel - 4; ret++) cb(" ", 1, app_key);
+	ilevel--;
+	_i_INDENT(1);
 
-	return cb("}", 1, app_key);
+	return (cb("}", 1, app_key) < 0) ? -1 : 0;
 }
 
 void