Update idl_gen_fbs.cpp
authorRaman <justzeddicus@gmail.com>
Mon, 4 Jul 2016 19:34:42 +0000 (21:34 +0200)
committerGitHub <noreply@github.com>
Mon, 4 Jul 2016 19:34:42 +0000 (21:34 +0200)
src/idl_gen_fbs.cpp

index 00afe25..241a787 100644 (file)
@@ -52,15 +52,18 @@ static void GenNameSpace(const Namespace &name_space, std::string *_schema,
 }
 
 // Generate a flatbuffer schema from the Parser's internal representation.
-std::string GenerateFBS(const Parser &parser, const std::string &file_name) {
-  // Proto namespaces may clash with table names, so we have to prefix all:
-  for (auto it = parser.namespaces_.begin(); it != parser.namespaces_.end();
-       ++it) {
-    for (auto comp = (*it)->components.begin(); comp != (*it)->components.end();
-         ++comp) {
-      (*comp) = "_" + (*comp);
-    }
-  }
+std::string GenerateFBS(const Parser &parser, const std::string &file_name, const bool &escape_proto_identifiers) {
+ // Proto namespaces may clash with table names, so we have to prefix all:
+
+       if (!escape_proto_identifiers) {
+               for (auto it = parser.namespaces_.begin(); it != parser.namespaces_.end();
+                       ++it) {
+                       for (auto comp = (*it)->components.begin(); comp != (*it)->components.end();
+                               ++comp) {
+                               (*comp) = "_" + (*comp);
+                       }
+               }
+       }
 
   std::string schema;
   schema += "// Generated from " + file_name + ".proto\n\n";
@@ -119,9 +122,10 @@ std::string GenerateFBS(const Parser &parser, const std::string &file_name) {
 
 bool GenerateFBS(const Parser &parser,
                  const std::string &path,
-                 const std::string &file_name) {
+                 const std::string &file_name,
+                                        const bool &escape_proto_identifiers) {
   return SaveFile((path + file_name + ".fbs").c_str(),
-                  GenerateFBS(parser, file_name), false);
+                  GenerateFBS(parser, file_name, escape_proto_identifiers), false);
 }
 
 }  // namespace flatbuffers