summaryrefslogtreecommitdiff
path: root/cpp/src/slice2docbook/Main.cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-07-21 04:17:09 +0000
committerMarc Laukien <marc@zeroc.com>2001-07-21 04:17:09 +0000
commit03271fd1bd1631a0db17f6cf42ccf0e84816028f (patch)
treea2e0c72d4590bddc742f491dffe07180e4f1456a /cpp/src/slice2docbook/Main.cpp
parentmore docbook (diff)
downloadice-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.cpp32
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();