Showing the changes to src/exec/debugger.cpp (1 of 2 files). Show all
Unified · Split
| @@ -770,7 +770,7 @@ namespace · 769 unmodified lines | ||
| 770 | 770 | } |
| 771 | 771 | |
| 772 | 772 | // [TODO] Didn't find the cmd, try ignoring case? |
| 773 | − return nullptr; | |
| 773 | + throw debug_cmd_error_t{ "Unknown command. '?' for help." }; | |
| 774 | 774 | } |
| 775 | 775 | |
| 776 | 776 | void print_help() |
| @@ -797,31 +797,6 @@ namespace · 20 unmodified lines | ||
| 797 | 797 | debug_print_info(ss.str()); |
| 798 | 798 | } |
| 799 | 799 | |
| 800 | − // split the string using the supplied delimiter | |
| 801 | − std::vector<std::string> split(const std::string &str, const char delim = ' ') | |
| 802 | − { | |
| 803 | − auto split_string = std::vector<std::string>{}; | |
| 804 | − | |
| 805 | − auto curr = str.begin(); | |
| 806 | − auto end = str.cend(); | |
| 807 | − while (curr != end) | |
| 808 | − { | |
| 809 | − auto curr_begin = curr; | |
| 810 | − while (curr != end && *curr != delim) | |
| 811 | − ++curr; | |
| 812 | − | |
| 813 | − if (curr_begin != curr) | |
| 814 | − split_string.push_back(std::move(std::string{ curr_begin, curr })); | |
| 815 | − | |
| 816 | − if (curr == end) | |
| 817 | − break; | |
| 818 | − | |
| 819 | − ++curr; | |
| 820 | − } | |
| 821 | − | |
| 822 | − return split_string; | |
| 823 | − } | |
| 824 | − | |
| 825 | 800 | void prompt(debugger &debugger, const vm_registers_t &r) |
| 826 | 801 | { |
| 827 | 802 | debugger.controller->suspend_all_threads(); |
| @@ -845,22 +820,13 @@ namespace · 17 unmodified lines | ||
| 845 | 820 | << console_modifiers::reset_all; |
| 846 | 821 | |
| 847 | 822 | std::getline(std::cin, cmd); |
| 848 | − if (cmd.empty()) | |
| 849 | − continue; | |
| 850 | − | |
| 851 | − const auto cmd_tokens = split(cmd); | |
| 823 | + const auto cmd_tokens = util::split(cmd); | |
| 852 | 824 | if (cmd_tokens.empty()) |
| 853 | 825 | continue; |
| 854 | 826 | |
| 855 | − auto cmd_exec = find_cmd(cmd_tokens[0]); | |
| 856 | − if (cmd_exec == nullptr) | |
| 857 | − { | |
| 858 | − debug_print_error("Unknown command. '?' for help."); | |
| 859 | − continue; | |
| 860 | − } | |
| 861 | − | |
| 862 | 827 | try |
| 863 | 828 | { |
| 829 | + auto cmd_exec = find_cmd(cmd_tokens[0]); | |
| 864 | 830 | cmd_exec(cmd_tokens, cxt); |
| 865 | 831 | if (cxt.exit_break) |
| 866 | 832 | break; |