Commit 3b3df154 authored by Senthil Prabakaran's avatar Senthil Prabakaran Committed by Mouse

Fix JSON issues

parent a9142343
......@@ -42,7 +42,7 @@ OCTET_STRING_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
}
if(p - scratch) {
p--; /* Remove the tail space */
ASN__CALLBACK(scratch, p-scratch); /* Dump the rest */
ASN__CALLBACK3("\"", 1, scratch, p-scratch, "\"", 1); /* Dump the rest */
if(st->size > 16)
ASN__TEXT_INDENT(1, ilevel-1);
}
......
......@@ -62,13 +62,14 @@ CHOICE_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr, int ilevel,
er.encoded = 0;
ASN__CALLBACK3("\"", 1, mname, mlen, "\"", 1);
ASN__CALLBACK3("{\n\"", 3, mname, mlen, "\": ", 2);
tmper = elm->type->op->jer_encoder(elm->type, memb_ptr,
ilevel + 1, flags, cb, app_key);
if(tmper.encoded == -1) return tmper;
er.encoded += tmper.encoded;
ASN__CALLBACK("}", 1);
// ASN__CALLBACK3("</", 2, mname, mlen, ">", 1);
}
......
......@@ -25,6 +25,7 @@ SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
if(!sptr) ASN__ENCODE_FAILED;
er.encoded = 0;
ASN__CALLBACK("[", 1);
for(i = 0; i < list->count; i++) {
asn_enc_rval_t tmper = {0,0,0};
......@@ -33,7 +34,7 @@ SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
if(mname) {
if(!xcan) ASN__TEXT_INDENT(1, ilevel);
ASN__CALLBACK3("\"", 1, mname, mlen, "\":{", 3);
ASN__CALLBACK3("{\"", 2, mname, mlen, "\":", 2);
}
tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1,
......@@ -50,9 +51,13 @@ SEQUENCE_OF_encode_jer(const asn_TYPE_descriptor_t *td, const void *sptr,
if(mname) {
ASN__CALLBACK("}", 1);
}
if (i != list->count - 1) {
ASN__CALLBACK(",", 1);
}
}
if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
ASN__CALLBACK("]", 1);
ASN__ENCODED_OK(er);
cb_failed:
......
......@@ -20,6 +20,8 @@ asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void *
er.encoded = 0;
int bAddComma = 0;
ASN__CALLBACK("{\n", 2);
for(edx = 0; edx < td->elements_count; edx++) {
asn_enc_rval_t tmper = {0,0,0};
asn_TYPE_member_t *elm = &td->elements[edx];
......@@ -50,8 +52,13 @@ asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void *
memb_ptr = (const void *)((const char *)sptr + elm->memb_offset);
}
if (bAddComma == 1) {
ASN__CALLBACK(",", 1);
bAddComma = 0;
}
if(!xcan) ASN__TEXT_INDENT(1, ilevel);
ASN__CALLBACK3("{\n\"", 3, mname, mlen, "\": ", 3);
ASN__CALLBACK3("\"", 1, mname, mlen, "\": ", 3);
/* Print the member itself */
tmper = elm->type->op->jer_encoder(elm->type, memb_ptr, ilevel + 1,
......@@ -62,9 +69,11 @@ asn_enc_rval_t SEQUENCE_encode_jer(const asn_TYPE_descriptor_t *td, const void *
}
if(tmper.encoded == -1) return tmper;
er.encoded += tmper.encoded;
if (edx != td->elements_count - 1) {
bAddComma = 1;
}
}
ASN__CALLBACK("},", 2);
ASN__CALLBACK("}", 1);
if(!xcan) ASN__TEXT_INDENT(1, ilevel - 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment