diff options
author | Chris Johns <chrisj@rtems.org> | 2013-01-01 12:16:52 +1100 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2013-01-01 12:16:52 +1100 |
commit | b255016b9684ae3b3e2ca2843d01578dd23b9af9 (patch) | |
tree | ce4c598d4af8084e1a764ecab1eef99c66f77076 | |
parent | 2bbf8f5cddaa50b21ae67147ab5120f3d26fbe70 (diff) |
Add -s for symbols to 'rtl list' command.
-rw-r--r-- | rtl-shell.c | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/rtl-shell.c b/rtl-shell.c index 728633b..8856f42 100644 --- a/rtl-shell.c +++ b/rtl-shell.c @@ -145,19 +145,37 @@ rtems_rtl_delta_voids (void* higher, void* lower) } /** - * See if -b for base is set. + * Parse an argument. */ static bool -rtems_rtl_base_arg (int argc, char *argv[]) +rtems_rtl_parse_arg (const char* opt, int argc, char *argv[]) { int arg; for (arg = 0; arg < argc; ++arg) - if (strncmp ("-b", argv[arg], 2) == 0) + if (strncmp (opt, argv[arg], 2) == 0) return true; return false; } /** + * See if -b for base is set. + */ +static bool +rtems_rtl_base_arg (int argc, char *argv[]) +{ + return rtems_rtl_parse_arg ("-b", argc, argv); +} + +/** + * See if -s for base is set. + */ +static bool +rtems_rtl_symbols_arg (int argc, char *argv[]) +{ + return rtems_rtl_parse_arg ("-s", argc, argv); +} + +/** * Object printer. */ static bool @@ -257,7 +275,7 @@ rtems_rtl_shell_list (rtems_rtl_data_t* rtl, int argc, char *argv[]) print.oname = true; print.names = true; print.memory_map = true; - print.symbols = true; + print.symbols = rtems_rtl_symbols_arg (argc, argv); print.base = false; rtems_rtl_chain_iterate (&rtl->objects, rtems_rtl_obj_print_iterator, @@ -269,9 +287,6 @@ static int rtems_rtl_shell_sym (rtems_rtl_data_t* rtl, int argc, char *argv[]) { rtems_rtl_obj_print_t print; - - - print.rtl = rtl; print.indent = 1; print.oname = true; |