diff options
author | Marc Laukien <marc@zeroc.com> | 2001-07-21 04:17:09 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-07-21 04:17:09 +0000 |
commit | 03271fd1bd1631a0db17f6cf42ccf0e84816028f (patch) | |
tree | a2e0c72d4590bddc742f491dffe07180e4f1456a /cpp/src/slice2docbook/Main.cpp | |
parent | more docbook (diff) | |
download | ice-03271fd1bd1631a0db17f6cf42ccf0e84816028f.tar.bz2 ice-03271fd1bd1631a0db17f6cf42ccf0e84816028f.tar.xz ice-03271fd1bd1631a0db17f6cf42ccf0e84816028f.zip |
more docbook stuff
Diffstat (limited to 'cpp/src/slice2docbook/Main.cpp')
-rw-r--r-- | cpp/src/slice2docbook/Main.cpp | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/cpp/src/slice2docbook/Main.cpp b/cpp/src/slice2docbook/Main.cpp index b93a3a74f07..498b68ed6fb 100644 --- a/cpp/src/slice2docbook/Main.cpp +++ b/cpp/src/slice2docbook/Main.cpp @@ -17,7 +17,7 @@ using namespace Slice; void usage(const char* n) { - cerr << "Usage: " << n << " [options] slice-files ...\n"; + cerr << "Usage: " << n << " [options] docbook-file slice-files ...\n"; cerr << "Options:\n" "-h, --help Show this message.\n" @@ -78,7 +78,7 @@ main(int argc, char* argv[]) } else if(argv[idx][0] == '-') { - cerr << argv[0] << ": error: unknown option `" << argv[idx] << "'" + cerr << argv[0] << ": unknown option `" << argv[idx] << "'" << endl; usage(argv[0]); return EXIT_FAILURE; @@ -89,7 +89,29 @@ main(int argc, char* argv[]) if(argc < 2) { - cerr << argv[0] << ": error: no input file" << endl; + cerr << argv[0] << ": no docbook file specified" << endl; + usage(argv[0]); + return EXIT_FAILURE; + } + + string docbook(argv[1]); + string suffix; + string::size_type pos = docbook.rfind('.'); + if(pos != string::npos) + { + suffix = docbook.substr(pos); + transform(suffix.begin(), suffix.end(), suffix.begin(), tolower); + } + if(suffix != ".sgml") + { + cerr << argv[0] << ": docbook file must end with `.sgml'" + << endl; + return EXIT_FAILURE; + } + + if(argc < 3) + { + cerr << argv[0] << ": no input file" << endl; usage(argv[0]); return EXIT_FAILURE; } @@ -98,7 +120,7 @@ main(int argc, char* argv[]) int status = EXIT_SUCCESS; - for(idx = 1 ; idx < argc ; ++idx) + for(idx = 2 ; idx < argc ; ++idx) { string base(argv[idx]); string suffix; @@ -157,7 +179,7 @@ main(int argc, char* argv[]) if(status == EXIT_SUCCESS) { - Gen gen(argv[0]); + Gen gen(argv[0], docbook); if(!gen) { unit -> destroy(); |