diff --git a/compiler2/record.c b/compiler2/record.c index 18df9ba0e62bea6ad86e1029498a39ed6c367e2e..a8f1eb0c0817830223fb0d613bc363a9f3eec4c6 100644 --- a/compiler2/record.c +++ b/compiler2/record.c @@ -379,10 +379,10 @@ char* generate_raw_coding(char* src, "RAW_Force_Omit field_%d_force_omit(%d, force_omit, " "%s_descr_.raw->forceomit);\n" "int decoded_field_length = field_%s%s.RAW_decode(%s_descr_, " - "p_buf, limit, local_top_order, TRUE, -1, ", + "p_buf, limit, local_top_order, TRUE, %s, ", i, i, sdef->elements[i].typedescrname, sdef->elements[i].name, sdef->elements[i].isOptional ? "()" : "", - sdef->elements[i].typedescrname); + sdef->elements[i].typedescrname, repeatable?"1":"-1"); if (repeatable) src = mputprintf(src, "field_map[%lu] == 0", (unsigned long) i);