Author: bryanduxbury
Date: Fri Sep  3 20:36:02 2010
New Revision: 992458

URL: http://svn.apache.org/viewvc?rev=992458&view=rev
Log:
Fix to the catch-all namespace commit

Modified:
    incubator/thrift/trunk/compiler/cpp/src/parse/t_program.h

Modified: incubator/thrift/trunk/compiler/cpp/src/parse/t_program.h
URL: 
http://svn.apache.org/viewvc/incubator/thrift/trunk/compiler/cpp/src/parse/t_program.h?rev=992458&r1=992457&r2=992458&view=diff
==============================================================================
--- incubator/thrift/trunk/compiler/cpp/src/parse/t_program.h (original)
+++ incubator/thrift/trunk/compiler/cpp/src/parse/t_program.h Fri Sep  3 
20:36:02 2010
@@ -160,28 +160,30 @@ class t_program : public t_doc {
 
   // Language neutral namespace / packaging
   void set_namespace(std::string language, std::string name_space) {
-    size_t sub_index = language.find('.');
-    std::string base_language = language.substr(0, sub_index);
-    std::string sub_namespace;
-
-    if(base_language == "smalltalk") {
-      pwarning(1, "Namespace 'smalltalk' is deprecated. Use 'st' instead");
-      base_language = "st";
-    }
+    if (language != "*") {
+      size_t sub_index = language.find('.');
+      std::string base_language = language.substr(0, sub_index);
+      std::string sub_namespace;
+
+      if(base_language == "smalltalk") {
+        pwarning(1, "Namespace 'smalltalk' is deprecated. Use 'st' instead");
+        base_language = "st";
+      }
 
-    t_generator_registry::gen_map_t my_copy = 
t_generator_registry::get_generator_map();
+      t_generator_registry::gen_map_t my_copy = 
t_generator_registry::get_generator_map();
 
-    t_generator_registry::gen_map_t::iterator it;
-    it=my_copy.find(base_language);
+      t_generator_registry::gen_map_t::iterator it;
+      it=my_copy.find(base_language);
 
-    if (it == my_copy.end()) {
-      throw "No generator named '" + base_language + "' could be found!";
-    }
+      if (it == my_copy.end()) {
+        throw "No generator named '" + base_language + "' could be found!";
+      }
 
-    if (sub_index != std::string::npos) {
-      std::string sub_namespace = language.substr(sub_index+1);
-      if(! it->second->is_valid_namespace(sub_namespace)) {
-        throw base_language +" generator does not accept '" + sub_namespace + 
"' as sub-namespace!";
+      if (sub_index != std::string::npos) {
+        std::string sub_namespace = language.substr(sub_index+1);
+        if(! it->second->is_valid_namespace(sub_namespace)) {
+          throw base_language +" generator does not accept '" + sub_namespace 
+ "' as sub-namespace!";
+        }
       }
     }
 


Reply via email to