summaryrefslogtreecommitdiff
path: root/TAO
diff options
context:
space:
mode:
authoralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-20 23:01:53 +0000
committeralex <alex@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-10-20 23:01:53 +0000
commit8235355dc99fb9a2bbd4a16641e0aedb37c00b35 (patch)
tree2f1ddc74ebf68768c550af4241fe6718c5b5977b /TAO
parent260a99b65db9041a94ae889f51e745b0895a431f (diff)
downloadATCD-8235355dc99fb9a2bbd4a16641e0aedb37c00b35.tar.gz
Fixed the problem with seperating suffix from the mail file name. It
was hard coded assuming that all files will end with .cpp which may not be true when somebody uses -sT or -st option to specify someother suffix like .cxx or something. So, we now use "." to separate the main name from the suffix. If . is also not there (sanity check), we just take the whole name as it is. THANKS for Terry.Rosenbaum@Radiology.MSU.edu (Terry Rosenbaum) for reporting this problem.
Diffstat (limited to 'TAO')
-rw-r--r--TAO/TAO_IDL/be/be_codegen.cpp285
1 files changed, 155 insertions, 130 deletions
diff --git a/TAO/TAO_IDL/be/be_codegen.cpp b/TAO/TAO_IDL/be/be_codegen.cpp
index aaab74e3a11..8fa303c220a 100644
--- a/TAO/TAO_IDL/be/be_codegen.cpp
+++ b/TAO/TAO_IDL/be/be_codegen.cpp
@@ -120,86 +120,92 @@ TAO_CodeGen::start_client_header (const char *fname)
static char macro_name [NAMEBUFSIZE];
ACE_OS::memset (macro_name, '\0', NAMEBUFSIZE);
- const char *suffix = ACE_OS::strstr (fname, ".h");
+ const char *suffix = ACE_OS::strstr (fname, ".");
if (suffix == 0)
- return -1; // bad file name
- else
{
- ACE_OS::sprintf (macro_name, "_TAO_IDL_");
- // convert letters in fname to upcase
- for (int i=0; i < (suffix - fname); i++)
- {
- if (isalpha (fname [i]))
- macro_name[i+9] = toupper (fname [i]);
- else if (isdigit (fname [i]))
- macro_name[i+9] = fname[i];
- else
- macro_name[i+9] = '_';
- }
-
- ACE_OS::strcat (macro_name, "_H_");
-
- // generate the #ifndef ... #define statements
- this->client_header_->print ("#if !defined (%s)\n", macro_name);
- this->client_header_->print ("#define %s\n\n", macro_name);
-
- *this->client_header_ << "#include \"tao/corba.h\"\n";
-
- if (idl_global->export_include () != 0)
- {
- *this->client_header_ << "#include \""
+ // File seems to have no extension, so let us take the name
+ // as it is.
+ if (fname == 0)
+ // bad file name
+ return -1;
+ else
+ suffix = fname;
+ }
+
+ ACE_OS::sprintf (macro_name, "_TAO_IDL_");
+ // convert letters in fname to upcase
+ for (int i=0; i < (suffix - fname); i++)
+ {
+ if (isalpha (fname [i]))
+ macro_name[i+9] = toupper (fname [i]);
+ else if (isdigit (fname [i]))
+ macro_name[i+9] = fname[i];
+ else
+ macro_name[i+9] = '_';
+ }
+
+ ACE_OS::strcat (macro_name, "_H_");
+
+ // generate the #ifndef ... #define statements
+ this->client_header_->print ("#if !defined (%s)\n", macro_name);
+ this->client_header_->print ("#define %s\n\n", macro_name);
+
+ *this->client_header_ << "#include \"tao/corba.h\"\n";
+
+ if (idl_global->export_include () != 0)
+ {
+ *this->client_header_ << "#include \""
<< idl_global->export_include ()
- << "\"\n";
- }
+ << "\"\n";
+ }
- // We must include all the skeleton headers corresponding to
- // IDL files included by the current IDL file.
- // We will use the included IDL file names as they appeared
- // in the original main IDL file, not the one which went
- // thru CC preprocessor.
- for (size_t j = 0;
- j < idl_global->n_included_idl_files ();
- j++)
- {
- char* idl_name =
+ // We must include all the skeleton headers corresponding to
+ // IDL files included by the current IDL file.
+ // We will use the included IDL file names as they appeared
+ // in the original main IDL file, not the one which went
+ // thru CC preprocessor.
+ for (size_t j = 0;
+ j < idl_global->n_included_idl_files ();
+ j++)
+ {
+ char* idl_name =
idl_global->included_idl_files ()[j];
-
+
// Make a String out of it.
- String idl_name_str = idl_name;
-
- // Get the clnt header from the IDL file name.
- const char* client_hdr =
- IDL_GlobalData::be_get_client_hdr (&idl_name_str);
-
- // Sanity check and then print.
- if (client_hdr != 0)
- {
- this->client_header_->print ("#include \"%s\"\n",
+ String idl_name_str = idl_name;
+
+ // Get the clnt header from the IDL file name.
+ const char* client_hdr =
+ IDL_GlobalData::be_get_client_hdr (&idl_name_str);
+
+ // Sanity check and then print.
+ if (client_hdr != 0)
+ {
+ this->client_header_->print ("#include \"%s\"\n",
client_hdr);
- }
- else
- {
- ACE_ERROR ((LM_WARNING,
- "WARNING, invalid file '%s' included\n",
- idl_name));
- }
}
- *this->client_header_ << "\n";
-
- // generate the TAO_EXPORT_MACRO macro
- *this->client_header_ << "#if defined (TAO_EXPORT_MACRO)\n";
- *this->client_header_ << "#undef TAO_EXPORT_MACRO\n";
- *this->client_header_ << "#endif\n";
- *this->client_header_ << "#define TAO_EXPORT_MACRO "
- << idl_global->export_macro ()
- << be_nl;
-
- *this->client_header_ << "#if defined(_MSC_VER)\n"
- << "#pragma warning(disable:4250)\n"
- << "#endif /* _MSC_VER */\n\n";
-
- return 0;
+ else
+ {
+ ACE_ERROR ((LM_WARNING,
+ "WARNING, invalid file '%s' included\n",
+ idl_name));
+ }
}
+ *this->client_header_ << "\n";
+
+ // generate the TAO_EXPORT_MACRO macro
+ *this->client_header_ << "#if defined (TAO_EXPORT_MACRO)\n";
+ *this->client_header_ << "#undef TAO_EXPORT_MACRO\n";
+ *this->client_header_ << "#endif\n";
+ *this->client_header_ << "#define TAO_EXPORT_MACRO "
+ << idl_global->export_macro ()
+ << be_nl;
+
+ *this->client_header_ << "#if defined(_MSC_VER)\n"
+ << "#pragma warning(disable:4250)\n"
+ << "#endif /* _MSC_VER */\n\n";
+
+ return 0;
}
}
@@ -299,54 +305,60 @@ TAO_CodeGen::start_server_header (const char *fname)
static char macro_name [NAMEBUFSIZE];
ACE_OS::memset (macro_name, '\0', NAMEBUFSIZE);
- const char *suffix = ACE_OS::strstr (fname, ".h");
+ const char *suffix = ACE_OS::strstr (fname, ".");
if (suffix == 0)
- return -1; // bad file name
- else
{
- ACE_OS::sprintf (macro_name, "_TAO_IDL_");
- // convert letters in fname to upcase
- for (int i=0; i < (suffix - fname); i++)
- if (isalpha (fname [i]))
- macro_name[i+9] = toupper (fname [i]);
- else if (isdigit (fname [i]))
- macro_name[i+9] = fname[i];
- else
- macro_name[i+9] = '_';
-
- ACE_OS::strcat (macro_name, "_H_");
-
- this->server_header_->print ("#if !defined (%s)\n", macro_name);
- this->server_header_->print ("#define %s\n\n", macro_name);
+ // File seems to have no extension, so let us take the name
+ // as it is.
+ if (fname == 0)
+ // bad file name
+ return -1;
+ else
+ suffix = fname;
+ }
- // We must include all the skeleton headers corresponding to
- // IDL files included by the current IDL file.
- for (size_t j = 0;
- j < idl_global->n_included_idl_files ();
- ++j)
+ ACE_OS::sprintf (macro_name, "_TAO_IDL_");
+ // convert letters in fname to upcase
+ for (int i=0; i < (suffix - fname); i++)
+ if (isalpha (fname [i]))
+ macro_name[i+9] = toupper (fname [i]);
+ else if (isdigit (fname [i]))
+ macro_name[i+9] = fname[i];
+ else
+ macro_name[i+9] = '_';
+
+ ACE_OS::strcat (macro_name, "_H_");
+
+ this->server_header_->print ("#if !defined (%s)\n", macro_name);
+ this->server_header_->print ("#define %s\n\n", macro_name);
+
+ // We must include all the skeleton headers corresponding to
+ // IDL files included by the current IDL file.
+ for (size_t j = 0;
+ j < idl_global->n_included_idl_files ();
+ ++j)
{
char* idl_name =
idl_global->included_idl_files ()[j];
-
+
// String'ifying the name.
String idl_name_str (idl_name);
-
+
const char* server_hdr =
IDL_GlobalData::be_get_server_hdr (&idl_name_str);
-
+
this->server_header_->print ("#include \"%s\"\n",
server_hdr);
}
// the server header should include the client header
- *this->server_header_ << "#include \"" <<
- idl_global->be_get_client_hdr_fname (1) << "\"\n\n";
-
- *this->server_header_ << "#if defined(_MSC_VER)\n"
- << "#pragma warning(disable:4250)\n"
- << "#endif /* _MSC_VER */\n\n";
-
- return 0;
- }
+ *this->server_header_ << "#include \"" <<
+ idl_global->be_get_client_hdr_fname (1) << "\"\n\n";
+
+ *this->server_header_ << "#if defined(_MSC_VER)\n"
+ << "#pragma warning(disable:4250)\n"
+ << "#endif /* _MSC_VER */\n\n";
+
+ return 0;
}
}
@@ -379,33 +391,38 @@ TAO_CodeGen::start_server_template_header (const char *fname)
static char macro_name [NAMEBUFSIZE];
ACE_OS::memset (macro_name, '\0', NAMEBUFSIZE);
- const char *suffix = ACE_OS::strstr (fname, ".h");
+ const char *suffix = ACE_OS::strstr (fname, ".");
if (suffix == 0)
- return -1; // bad file name
- else
{
- ACE_OS::sprintf (macro_name, "_TAO_IDL_");
- // convert letters in fname to upcase
- for (int i=0; i < (suffix - fname); i++)
- if (isalpha (fname [i]))
+ // File seems to have no extension, so let us take the name
+ // as it is.
+ if (fname == 0)
+ // bad file name
+ return -1;
+ else
+ suffix = fname;
+ }
+ ACE_OS::sprintf (macro_name, "_TAO_IDL_");
+ // convert letters in fname to upcase
+ for (int i=0; i < (suffix - fname); i++)
+ if (isalpha (fname [i]))
macro_name[i+9] = toupper (fname [i]);
- else if (isdigit (fname [i]))
- macro_name[i+9] = fname[i];
- else
- macro_name[i+9] = '_';
-
- ACE_OS::strcat (macro_name, "_H_");
-
- this->server_template_header_->print ("#if !defined (%s)\n",
- macro_name);
- this->server_template_header_->print ("#define %s\n\n", macro_name);
-
- *this->server_template_header_ << "#if defined(_MSC_VER)\n"
- << "#pragma warning(disable:4250)\n"
- << "#endif /* _MSC_VER */\n\n";
+ else if (isdigit (fname [i]))
+ macro_name[i+9] = fname[i];
+ else
+ macro_name[i+9] = '_';
- return 0;
- }
+ ACE_OS::strcat (macro_name, "_H_");
+
+ this->server_template_header_->print ("#if !defined (%s)\n",
+ macro_name);
+ this->server_template_header_->print ("#define %s\n\n", macro_name);
+
+ *this->server_template_header_ << "#if defined(_MSC_VER)\n"
+ << "#pragma warning(disable:4250)\n"
+ << "#endif /* _MSC_VER */\n\n";
+
+ return 0;
}
}
@@ -479,9 +496,17 @@ TAO_CodeGen::start_server_template_skeletons (const char *fname)
static char macro_name [NAMEBUFSIZE];
ACE_OS::memset (macro_name, '\0', NAMEBUFSIZE);
- const char *suffix = ACE_OS::strstr (fname, ".cpp");
+ const char *suffix = ACE_OS::strstr (fname, ".");
if (suffix == 0)
- return -1; // bad file name
+ {
+ // File seems to have no extension, so let us take the name
+ // as it is.
+ if (fname == 0)
+ // bad file name
+ return -1;
+ else
+ suffix = fname;
+ }
ACE_OS::sprintf (macro_name, "_TAO_IDL_");
// convert letters in fname to upcase