ensure xer encode yields the same number of bytes as it sends to the callback
diff --git a/skeletons/constr_SEQUENCE_OF.c b/skeletons/constr_SEQUENCE_OF.c
index 3b9c1f5..a8e20ec 100644
--- a/skeletons/constr_SEQUENCE_OF.c
+++ b/skeletons/constr_SEQUENCE_OF.c
@@ -88,56 +88,55 @@
 }
 
 asn_enc_rval_t
-SEQUENCE_OF_encode_xer(asn_TYPE_descriptor_t *td, void *sptr,
-	int ilevel, enum xer_encoder_flags_e flags,
-		asn_app_consume_bytes_f *cb, void *app_key) {
-	asn_enc_rval_t er;
-        asn_SET_OF_specifics_t *specs = (asn_SET_OF_specifics_t *)td->specifics;
-	asn_TYPE_member_t *elm = td->elements;
-	asn_anonymous_sequence_ *list = _A_SEQUENCE_FROM_VOID(sptr);
-	const char *mname = specs->as_XMLValueList
-		? 0 : ((*elm->name) ? elm->name : elm->type->xml_tag);
-	unsigned int mlen = mname ? strlen(mname) : 0;
-	int xcan = (flags & XER_F_CANONICAL);
-	int i;
+SEQUENCE_OF_encode_xer(asn_TYPE_descriptor_t *td, void *sptr, int ilevel,
+                       enum xer_encoder_flags_e flags,
+                       asn_app_consume_bytes_f *cb, void *app_key) {
+    asn_enc_rval_t er;
+    asn_SET_OF_specifics_t *specs = (asn_SET_OF_specifics_t *)td->specifics;
+    asn_TYPE_member_t *elm = td->elements;
+    asn_anonymous_sequence_ *list = _A_SEQUENCE_FROM_VOID(sptr);
+    const char *mname = specs->as_XMLValueList
+                            ? 0
+                            : ((*elm->name) ? elm->name : elm->type->xml_tag);
+    unsigned int mlen = mname ? strlen(mname) : 0;
+    int xcan = (flags & XER_F_CANONICAL);
+    int i;
 
-	if(!sptr) ASN__ENCODE_FAILED;
+    if(!sptr) ASN__ENCODE_FAILED;
 
-	er.encoded = 0;
+    er.encoded = 0;
 
-	for(i = 0; i < list->count; i++) {
-		asn_enc_rval_t tmper;
-		void *memb_ptr = list->array[i];
-		if(!memb_ptr) continue;
+    for(i = 0; i < list->count; i++) {
+        asn_enc_rval_t tmper;
+        void *memb_ptr = list->array[i];
+        if(!memb_ptr) continue;
 
-		if(mname) {
-			if(!xcan) ASN__TEXT_INDENT(1, ilevel);
-			ASN__CALLBACK3("<", 1, mname, mlen, ">", 1);
-		}
+        if(mname) {
+            if(!xcan) ASN__TEXT_INDENT(1, ilevel);
+            ASN__CALLBACK3("<", 1, mname, mlen, ">", 1);
+        }
 
-		tmper = elm->type->op->xer_encoder(elm->type, memb_ptr,
-				ilevel + 1, flags, cb, app_key);
-		if(tmper.encoded == -1) return tmper;
-                if(tmper.encoded == 0 && specs->as_XMLValueList) {
-                        const char *name = elm->type->xml_tag;
-			size_t len = strlen(name);
-			if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1);
-			ASN__CALLBACK3("<", 1, name, len, "/>", 2);
-                }
+        tmper = elm->type->op->xer_encoder(elm->type, memb_ptr, ilevel + 1,
+                                           flags, cb, app_key);
+        if(tmper.encoded == -1) return tmper;
+        er.encoded += tmper.encoded;
+        if(tmper.encoded == 0 && specs->as_XMLValueList) {
+            const char *name = elm->type->xml_tag;
+            size_t len = strlen(name);
+            if(!xcan) ASN__TEXT_INDENT(1, ilevel + 1);
+            ASN__CALLBACK3("<", 1, name, len, "/>", 2);
+        }
 
-		if(mname) {
-			ASN__CALLBACK3("</", 2, mname, mlen, ">", 1);
-			er.encoded += 5;
-		}
+        if(mname) {
+            ASN__CALLBACK3("</", 2, mname, mlen, ">", 1);
+        }
+    }
 
-		er.encoded += (2 * mlen) + tmper.encoded;
-	}
+    if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
 
-	if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
-
-	ASN__ENCODED_OK(er);
+    ASN__ENCODED_OK(er);
 cb_failed:
-	ASN__ENCODE_FAILED;
+    ASN__ENCODE_FAILED;
 }
 
 asn_enc_rval_t