From: Jake Farrell Date: Mon, 31 Oct 2011 14:13:13 +0000 (+0000) Subject: THRIFT-1413: Generated code does not read MapEnd / ListEnd / SetEnd X-Git-Tag: 0.8.0~37 X-Git-Url: https://source.supwisdom.com/gerrit/gitweb?a=commitdiff_plain;h=601bb5e87feb0b88c1fdbaeb087a8a656c5290a1;p=common%2Fthrift.git THRIFT-1413: Generated code does not read MapEnd / ListEnd / SetEnd Client: delphi Patch: Jens Geyer The generated code lacks calls to ReadMapEnd, ReadListEnd and ReadSetEnd. Although actually no problem occurs with the BinaryProtocol, other protocols (like JSON) do some important things there. git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1195466 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/compiler/cpp/src/generate/t_delphi_generator.cc b/compiler/cpp/src/generate/t_delphi_generator.cc index 569afe3f..0215e3c6 100644 --- a/compiler/cpp/src/generate/t_delphi_generator.cc +++ b/compiler/cpp/src/generate/t_delphi_generator.cc @@ -1765,6 +1765,14 @@ void t_delphi_generator::generate_deserialize_container(ostream& out, bool is_xc } indent_down_impl(); indent_impl(out) << "end;" << endl; + + if (ttype->is_map()) { + indent_impl(out) << "iprot.ReadMapEnd();" << endl; + } else if (ttype->is_set()) { + indent_impl(out) << "iprot.ReadSetEnd();" << endl; + } else if (ttype->is_list()) { + indent_impl(out) << "iprot.ReadListEnd();" << endl; + } } void t_delphi_generator::generate_deserialize_map_element(ostream& out, bool is_xception, t_map* tmap, string prefix, ostream& local_vars) {