From d9ea25c51dc55f702384960fd95e4c11e99f1654 Mon Sep 17 00:00:00 2001 From: Ingo Weinhold Date: Fri, 29 May 2009 01:04:17 +0000 Subject: [PATCH] Fixed error handling in module initialization. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30908 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/add-ons/kernel/debugger/disasm/disasm.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/add-ons/kernel/debugger/disasm/disasm.cpp b/src/add-ons/kernel/debugger/disasm/disasm.cpp index 93e77955fa..410daa721c 100644 --- a/src/add-ons/kernel/debugger/disasm/disasm.cpp +++ b/src/add-ons/kernel/debugger/disasm/disasm.cpp @@ -87,13 +87,12 @@ disasm_command(int argc, char **argv) static status_t std_ops(int32 op, ...) { - status_t err; - if (op == B_MODULE_INIT) { - err = disasm_arch_init(); - if (err < 0) + status_t err = disasm_arch_init(); + if (err != B_OK) return err; - return add_debugger_command_etc("dis", disasm_command, + + err = add_debugger_command_etc("dis", disasm_command, "Print disassembly at address", "[ -b ] [
[ ] ]\n" "Prints disassembly at address.\n" @@ -103,6 +102,9 @@ std_ops(int32 op, ...) " starting at
.\n" " -b - Number of instruction to disassemble before\n" "
.\n", 0); + if (err != B_OK) + disasm_arch_fini(); + return err; } else if (op == B_MODULE_UNINIT) { remove_debugger_command("dis", disasm_command); return disasm_arch_fini();