diff options
author | dsmith <dsmith> | 2006-06-02 15:54:26 +0000 |
---|---|---|
committer | dsmith <dsmith> | 2006-06-02 15:54:26 +0000 |
commit | 277c1957c614aa4c56a5e192e893471e3a964cc4 (patch) | |
tree | 3a81e58bc53afddd7c1c98035a988a2d024a2843 /main.cxx | |
parent | 3b308385ab9aa306eabac5fa6b67ef9e17106e98 (diff) | |
download | systemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.tar.gz systemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.tar.xz systemtap-steved-277c1957c614aa4c56a5e192e893471e3a964cc4.zip |
2006-06-02 David Smith <dsmith@redhat.com>
* main.cxx (usage): Added exitcode parameter.
(main): Improved a few error messages. Also, when an error is
given, stap now always exits with a status of 1.
* testsuite/buildok/cmdline01.stp: New test.
* testsuite/parseko/cmdline01.stp: Ditto.
* testsuite/parseko/cmdline02.stp: Ditto.
* testsuite/parseko/cmdline03.stp: Ditto.
* testsuite/parseko/cmdline04.stp: Ditto.
* testsuite/parseko/cmdline05.stp: Ditto.
* testsuite/parseko/cmdline06.stp: Ditto.
* testsuite/parseok/cmdline01.stp: Ditto.
* testsuite/parseok/cmdline02.stp: Ditto.
Diffstat (limited to 'main.cxx')
-rw-r--r-- | main.cxx | 33 |
1 files changed, 22 insertions, 11 deletions
@@ -46,7 +46,7 @@ version () } void -usage (systemtap_session& s) +usage (systemtap_session& s, int exitcode) { version (); clog @@ -96,7 +96,7 @@ usage (systemtap_session& s) ; // -d: dump safety-related external references - exit (0); + exit (exitcode); } @@ -178,8 +178,8 @@ main (int argc, char * const argv []) s.last_pass = atoi (optarg); if (s.last_pass < 1 || s.last_pass > 5) { - cerr << "Invalid pass number." << endl; - usage (s); + cerr << "Invalid pass number (should be 1-5)." << endl; + usage (s, 1); } break; @@ -189,7 +189,11 @@ main (int argc, char * const argv []) case 'e': if (have_script) - usage (s); + { + cerr << "Only one script can be given on the command line." + << endl; + usage (s, 1); + } cmdline_script = string (optarg); have_script = true; break; @@ -230,8 +234,8 @@ main (int argc, char * const argv []) s.buffer_size = atoi (optarg); if (s.buffer_size < 1 || s.buffer_size > 64) { - cerr << "Invalid buffer size." << endl; - usage (s); + cerr << "Invalid buffer size (should be 1-64)." << endl; + usage (s, 1); } break; @@ -248,21 +252,25 @@ main (int argc, char * const argv []) break; case 'h': + usage (s, 0); + break; + default: - usage (s); + usage (s, 1); + break; } } if(!s.bulk_mode && !s.merge) { cerr << "-M option is valid only for bulk (relayfs) mode." <<endl; - exit(1); + usage (s, 1); } if(!s.output_file.empty() && s.bulk_mode && !s.merge) { cerr << "You can't specify -M, -b and -o options together." <<endl; - exit(1); + usage (s, 1); } for (int i = optind; i < argc; i++) @@ -278,7 +286,10 @@ main (int argc, char * const argv []) // need a user file if (! have_script) - usage(s); + { + cerr << "A script must be specified." << endl; + usage(s, 1); + } int rc = 0; |