Skip to content

Commit

Permalink
Don't print usage to stdout for invalid parameters
Browse files Browse the repository at this point in the history
  • Loading branch information
x42 committed Aug 14, 2019
1 parent 4aedf9c commit 316880b
Show file tree
Hide file tree
Showing 6 changed files with 48 additions and 40 deletions.
18 changes: 10 additions & 8 deletions libs/ardouralsautil/request_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,17 +56,17 @@ static int stdin_available(void) {
return errno != EBADF;
}

static void print_version(int status) {
static void print_version () {
printf (ARD_PROG_NAME " " VERSION "\n\n");
printf (
"Copyright (C) 2014 Robin Gareus <robin@gareus.org>\n"
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\n"
);
exit (status);
exit (EXIT_SUCCESS);
}

static void usage(int status) {
static void usage () {
printf (ARD_PROG_NAME " - DBus Audio Reservation Utility.\n");
printf ("Usage: " ARD_PROG_NAME " [ OPTIONS ] <Audio-Device-ID>\n");
printf ("Options:\n\
Expand Down Expand Up @@ -103,7 +103,7 @@ Examples:\n\
\n");

printf ("Report bugs to Robin Gareus <robin@gareus.org>\n");
exit (status);
exit (EXIT_SUCCESS);
}

static struct option const long_options[] =
Expand Down Expand Up @@ -163,7 +163,7 @@ int main(int argc, char **argv) {
switch (c) {
case 'h':
free(name);
usage(EXIT_SUCCESS);
usage ();
break;
case 'n':
free(name);
Expand All @@ -178,21 +178,23 @@ int main(int argc, char **argv) {
break;
case 'V':
free(name);
print_version(EXIT_SUCCESS);
print_version ();
break;
case 'w':
release_wait_for_signal = 1;
break;
default:
free(name);
usage(EXIT_FAILURE);
fprintf (stderr, "Error: unrecognized option. See --help for usage information.\n");
exit (EXIT_FAILURE);
break;
}
}

if (optind + 1 != argc) {
fprintf (stderr, "Error: Missing parameter. See --help for usage information.\n");
free(name);
usage(EXIT_FAILURE);
return EXIT_FAILURE;
}
const char *device_name = argv[optind];

Expand Down
14 changes: 8 additions & 6 deletions session_utils/copy-mixer.cc
Original file line number Diff line number Diff line change
Expand Up @@ -246,7 +246,7 @@ copy_session_routes (
}


static void usage (int status) {
static void usage () {
// help2man compatible format (standard GNU help-text)
printf (UTILNAME " - copy mixer settings from one session to another.\n\n");
printf ("Usage: " UTILNAME " [ OPTIONS ] <src> <dst>\n\n");
Expand All @@ -270,7 +270,7 @@ When --snapshot is set, a new snaphot in the <dst> session is created.\n\

printf ("Report bugs to <http://tracker.ardour.org/>\n"
"Website: <http://ardour.org/>\n");
::exit (status);
::exit (EXIT_SUCCESS);
}

static bool ends_with (std::string const& value, std::string const& ending)
Expand Down Expand Up @@ -308,7 +308,7 @@ int main (int argc, char* argv[])
break;

case 'h':
usage (EXIT_SUCCESS);
usage ();
break;

case 'l':
Expand All @@ -330,15 +330,17 @@ int main (int argc, char* argv[])
break;

default:
usage (EXIT_FAILURE);
break;
cerr << "Error: unrecognized option. See --help for usage information.\n";
::exit (EXIT_FAILURE);
break;
}
}

// TODO parse path/name from a single argument.

if (optind + 2 > argc) {
usage (EXIT_FAILURE);
cerr << "Error: Missing parameter. See --help for usage information.\n";
::exit (EXIT_FAILURE);
}

std::string src = argv[optind];
Expand Down
14 changes: 8 additions & 6 deletions session_utils/export.cc
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ static int export_session (Session *session,
return 0;
}

static void usage (int status) {
static void usage () {
// help2man compatible format (standard GNU help-text)
printf (UTILNAME " - export an ardour session from the commandline.\n\n");
printf ("Usage: " UTILNAME " [ OPTIONS ] <session-dir> <session/snapshot-name>\n\n");
Expand All @@ -231,7 +231,7 @@ Note: the tool expects a session-name without .ardour file-name extension.\n\

printf ("Report bugs to <http://tracker.ardour.org/>\n"
"Website: <http://ardour.org/>\n");
::exit (status);
::exit (EXIT_SUCCESS);
}

int main (int argc, char* argv[])
Expand Down Expand Up @@ -309,17 +309,19 @@ int main (int argc, char* argv[])
break;

case 'h':
usage (EXIT_SUCCESS);
usage ();
break;

default:
usage (EXIT_FAILURE);
break;
cerr << "Error: unrecognized option. See --help for usage information.\n";
::exit (EXIT_FAILURE);
break;
}
}

if (optind + 2 > argc) {
usage (EXIT_FAILURE);
cerr << "Error: Missing parameter. See --help for usage information.\n";
::exit (EXIT_FAILURE);
}

SessionUtils::init(false);
Expand Down
15 changes: 7 additions & 8 deletions session_utils/fix_bbtppq.cc
Original file line number Diff line number Diff line change
Expand Up @@ -334,7 +334,7 @@ apply_one_source_per_source_fix (Session* session)
return true;
}

static void usage (int status) {
static void usage () {
// help2man compatible format (standard GNU help-text)
printf (UTILNAME " - convert an ardour session with 5.0 - 5.3 midi sources to be compatible with 5.4.\n\n");
printf ("Usage: " UTILNAME " [ OPTIONS ] <session-dir> <snapshot-name>\n\n");
Expand Down Expand Up @@ -389,7 +389,7 @@ If a MIDI session only contains quarter note meter divisors, it will be unaffect

printf ("Report bugs to <http://tracker.ardour.org/>\n"
"Website: <http://ardour.org/>\n");
::exit (status);
::exit (EXIT_SUCCESS);
}

int main (int argc, char* argv[])
Expand Down Expand Up @@ -417,9 +417,6 @@ int main (int argc, char* argv[])

case 'o':
outfile = optarg;
if (outfile.empty()) {
usage (EXIT_SUCCESS);
}
break;

case 'V':
Expand All @@ -429,17 +426,19 @@ int main (int argc, char* argv[])
break;

case 'h':
usage (EXIT_SUCCESS);
usage ();
break;

default:
usage (EXIT_FAILURE);
cerr << "Error: unrecognized option. See --help for usage information.\n";
::exit (EXIT_FAILURE);
break;
}
}

if (optind + 2 > argc) {
usage (EXIT_FAILURE);
cerr << "Error: Missing parameter. See --help for usage information.\n";
::exit (EXIT_FAILURE);
}

SessionDirectory* session_dir = new SessionDirectory (argv[optind]);
Expand Down
14 changes: 8 additions & 6 deletions session_utils/new_empty_session.cc
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ using namespace ARDOUR;
using namespace SessionUtils;


static void usage (int status)
static void usage ()
{
// help2man compatible format (standard GNU help-text)
printf (UTILNAME " - create a new empty session from the commandline.\n\n");
Expand All @@ -55,7 +55,7 @@ Examples:\n\

printf ("Report bugs to <http://tracker.ardour.org/>\n"
"Website: <http://ardour.org/>\n");
::exit (status);
::exit (EXIT_SUCCESS);
}

int main (int argc, char* argv[])
Expand Down Expand Up @@ -92,11 +92,12 @@ int main (int argc, char* argv[])
break;

case 'h':
usage (EXIT_SUCCESS);
usage ();
break;

default:
usage (EXIT_FAILURE);
cerr << "Error: unrecognized option. See --help for usage information.\n";
::exit (EXIT_FAILURE);
break;
}
}
Expand All @@ -108,11 +109,12 @@ int main (int argc, char* argv[])
} else if (optind + 1 == argc) {
snapshot_name = Glib::path_get_basename (argv[optind]);
} else {
usage (EXIT_FAILURE);
cerr << "Error: Missing parameter. See --help for usage information.\n";
::exit (EXIT_FAILURE);
}

if (snapshot_name.empty ()) {
fprintf(stderr, "Error: Invalid empty session/snapshot name.\n");
cerr << "Error: Invalid empty session/snapshot name.\n";
::exit (EXIT_FAILURE);
}

Expand Down
13 changes: 7 additions & 6 deletions session_utils/new_session.cc
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,7 @@ using namespace std;
using namespace ARDOUR;
using namespace SessionUtils;

static void
usage (int status)
static void usage ()
{
// help2man compatible format (standard GNU help-text)
printf (UTILNAME " - create a new session from the commandline.\n\n");
Expand Down Expand Up @@ -70,7 +69,7 @@ Examples:\n\

printf ("Report bugs to <http://tracker.ardour.org/>\n"
"Website: <http://ardour.org/>\n");
::exit (status);
::exit (EXIT_SUCCESS);
}

static void
Expand Down Expand Up @@ -210,11 +209,12 @@ main (int argc, char* argv[])
break;

case 'h':
usage (EXIT_SUCCESS);
usage ();
break;

default:
usage (EXIT_FAILURE);
cerr << "Error: unrecognized option. See --help for usage information.\n";
::exit (EXIT_FAILURE);
break;
}
}
Expand All @@ -226,7 +226,8 @@ main (int argc, char* argv[])
} else if (optind + 1 == argc) {
snapshot_name = Glib::path_get_basename (argv[optind]);
} else {
usage (EXIT_FAILURE);
cerr << "Error: Missing parameter. See --help for usage information.\n";
::exit (EXIT_FAILURE);
}

if (snapshot_name.empty ()) {
Expand Down

0 comments on commit 316880b

Please sign in to comment.