THRIFT-832. html: HTML generator shows unspecified struct fields as 'required'

This patch causes required/optional/default to reported appropriately.

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@984868 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/compiler/cpp/src/generate/t_html_generator.cc b/compiler/cpp/src/generate/t_html_generator.cc
index dcfdf95..b81a953 100644
--- a/compiler/cpp/src/generate/t_html_generator.cc
+++ b/compiler/cpp/src/generate/t_html_generator.cc
@@ -534,7 +534,7 @@
   vector<t_field*> members = tstruct->get_members();
   vector<t_field*>::iterator mem_iter = members.begin();
   f_out_ << "<table>";
-  f_out_ << "<tr><th>Field</th><th>Type</th><th>Description</th><th>Required</th><th>Default value</th></tr>"
+  f_out_ << "<tr><th>Field</th><th>Type</th><th>Description</th><th>Requiredness</th><th>Default value</th></tr>"
 	 << endl;
   for ( ; mem_iter != members.end(); mem_iter++) {
     f_out_ << "<tr><td>" << (*mem_iter)->get_name() << "</td><td>";
@@ -542,10 +542,12 @@
     f_out_ << "</td><td>";
     f_out_ << (*mem_iter)->get_doc();
     f_out_ << "</td><td>";
-    if ((*mem_iter)->get_req() != t_field::T_OPTIONAL) {
-      f_out_ << "yes";
+    if ((*mem_iter)->get_req() == t_field::T_OPTIONAL) {
+      f_out_ << "optional";
+    } else if ((*mem_iter)->get_req() == t_field::T_REQUIRED) {
+      f_out_ << "required";
     } else {
-      f_out_ << "no";
+      f_out_ << "default";
     }
     f_out_ << "</td><td>";
     t_const_value* default_val = (*mem_iter)->get_value();