THRIFT-1398 Compiler warning on generated code (Multiface kills -Wall -Werror on gcc 4.6.1)
Patch: Nevo Hed

git-svn-id: https://svn.apache.org/repos/asf/thrift/trunk@1311066 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_cpp_generator.cc b/compiler/cpp/src/generate/t_cpp_generator.cc
index 08a6fbe..6b3f4b6 100755
--- a/compiler/cpp/src/generate/t_cpp_generator.cc
+++ b/compiler/cpp/src/generate/t_cpp_generator.cc
@@ -2123,30 +2123,29 @@
     indent_up();
     f_header_ <<
       indent() << "size_t sz = ifaces_.size();" << endl <<
-      indent() << "for (size_t i = 0; i < sz; ++i) {" << endl;
+      indent() << "size_t i = 0;" << endl <<
+      indent() << "for (; i < (sz - 1); ++i) {" << endl;
+	indent_up();
+	f_header_ <<
+      indent() << call << ";" << endl;
+	indent_down();
+	f_header_ <<
+      indent() << "}" << endl;
+
     if (!(*f_iter)->get_returntype()->is_void()) {
-      f_header_ <<
-        indent() << "  if (i == sz - 1) {" << endl;
       if (is_complex_type((*f_iter)->get_returntype())) {
         f_header_ <<
-          indent() << "    " << call << ";" << endl <<
-          indent() << "    return;" << endl;
+          indent() << call << ";" << endl <<
+          indent() << "return;" << endl;
       } else {
         f_header_ <<
-          indent() << "    return " << call << ";" << endl;
+          indent() << "return " << call << ";" << endl;
       }
-      f_header_ <<
-        indent() << "  } else {" << endl <<
-        indent() << "    " << call << ";" << endl <<
-        indent() << "  }" << endl;
     } else {
       f_header_ <<
-        indent() << "  " << call << ";" << endl;
+        indent() << call << ";" << endl;
     }
 
-    f_header_ <<
-      indent() << "}" << endl;
-
     indent_down();
     f_header_ <<
       indent() << "}" << endl <<