diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/libmisc/shell/main_perioduse.c | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/cpukit/libmisc/shell/main_perioduse.c b/cpukit/libmisc/shell/main_perioduse.c index 349e168cd4..9ad18d76de 100644 --- a/cpukit/libmisc/shell/main_perioduse.c +++ b/cpukit/libmisc/shell/main_perioduse.c @@ -21,18 +21,36 @@ #include <rtems/shell.h> #include "internal.h" -int rtems_shell_main_perioduse(int argc,char *argv[]) +int rtems_shell_main_perioduse( + int argc, + char *argv[] +) { - if ( argc >= 1 && !strcmp( argv[1], "-r" ) ) { - printf( "Resetting Period Usage information\n" ); - rtems_rate_monotonic_reset_all_statistics(); - } else { + /* + * When invoked with no arguments, print the report. + */ + if ( argc == 1 ) { rtems_rate_monotonic_report_statistics_with_plugin( stdout, (rtems_printk_plugin_t)fprintf ); + return 0; } - return 0; + + /* + * When invoked with the single argument -r, reset the statistics. + */ + if ( argc == 2 && !strcmp( argv[1], "-r" ) ) { + printf( "Resetting Period Usage information\n" ); + rtems_rate_monotonic_reset_all_statistics(); + return 0; + } + + /* + * OK. The user did something wrong. + */ + fprintf( stderr, "%s: [-r]\n", argv[0] ); + return -1; } rtems_shell_cmd_t rtems_shell_PERIODUSE_Command = { |