allow os-specific filenames on interrogate command line

This commit is contained in:
David Rose 2003-07-21 16:55:58 +00:00
parent 0c13c5c763
commit baa5e959a5
3 changed files with 9 additions and 7 deletions

View File

@ -57,7 +57,7 @@ is_fully_specified() const {
// Description:
////////////////////////////////////////////////////////////////////
bool CPPParser::
parse_file(const string &filename) {
parse_file(const Filename &filename) {
if (!init_cpp(CPPFile(filename, filename, CPPFile::S_local))) {
cerr << "Unable to read " << filename << "\n";
return false;

View File

@ -23,6 +23,7 @@
#include "cppScope.h"
#include "cppPreprocessor.h"
#include "filename.h"
#include <set>
@ -36,7 +37,7 @@ public:
virtual bool is_fully_specified() const;
bool parse_file(const string &filename);
bool parse_file(const Filename &filename);
CPPExpression *parse_expr(const string &expr);
CPPType *parse_type(const string &type);

View File

@ -327,11 +327,11 @@ main(int argc, char *argv[]) {
break;
case CO_oc:
output_code_filename = optarg;
output_code_filename = Filename::from_os_specific(optarg);
break;
case CO_od:
output_data_filename = optarg;
output_data_filename = Filename::from_os_specific(optarg);
break;
case CO_module:
@ -444,11 +444,12 @@ main(int argc, char *argv[]) {
// Get all of the .h files.
for (i = 1; i < argc; ++i) {
if (!parser.parse_file(argv[i])) {
Filename filename = Filename::from_os_specific(argv[i]);
if (!parser.parse_file(Filename::from_os_specific(filename))) {
cerr << "Error parsing file: '" << argv[i] << "'\n";
exit(1);
}
builder.add_source_file(argv[i]);
builder.add_source_file(filename);
}
// Now that we've parsed all the source code, change the way things
@ -459,7 +460,7 @@ main(int argc, char *argv[]) {
// Now look for the .N files.
for (i = 1; i < argc; ++i) {
Filename nfilename = argv[i];
Filename nfilename = Filename::from_os_specific(argv[i]);
nfilename.set_extension("N");
nfilename.set_text();
ifstream nfile;