Thrift, Make sure gen'd code initializes empty containers in php / python


git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664781 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_php_generator.cc b/compiler/cpp/src/generate/t_php_generator.cc
index 5b575b4..8b05f70 100644
--- a/compiler/cpp/src/generate/t_php_generator.cc
+++ b/compiler/cpp/src/generate/t_php_generator.cc
@@ -809,6 +809,7 @@
   t_field fetype(g_program->get_byte_type(), etype);
 
   indent(out) <<
+    prefix << " = array();" << endl <<
     "$" << size << " = 0;" << endl;
   
   // Declare variables, read header
diff --git a/compiler/cpp/src/generate/t_py_generator.cc b/compiler/cpp/src/generate/t_py_generator.cc
index 1707d03..c53fe42 100644
--- a/compiler/cpp/src/generate/t_py_generator.cc
+++ b/compiler/cpp/src/generate/t_py_generator.cc
@@ -640,8 +640,8 @@
 }
 
 void t_py_generator::generate_deserialize_container(ofstream &out,
-                                                     t_type* ttype,
-                                                     string prefix) {
+                                                    t_type* ttype,
+                                                    string prefix) {
   string size = tmp("_size");
   string ktype = tmp("_ktype");
   string vtype = tmp("_vtype");
@@ -655,12 +655,15 @@
   // Declare variables, read header
   if (ttype->is_map()) {
     out <<
+      indent() << prefix << " = {}" << endl <<
       indent() << "(" << ktype << ", " << vtype << ", " << size << " ) = iprot.readMapBegin(itrans) " << endl;
   } else if (ttype->is_set()) {
     out <<
+      indent() << prefix << " = []" << endl <<
       indent() << "(" << etype << ", " << size << ") = iprot.readSetBegin(itrans)" << endl;
   } else if (ttype->is_list()) {
     out <<
+      indent() << prefix << " = []" << endl <<
       indent() << "(" << etype << ", " << size << ") = iprot.readListBegin(itrans)" << endl;
   }