From fd81fd526a1daf57e0d58ada784bd8baf06ed8a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Wed, 16 Jan 2008 08:59:58 +0000 Subject: [PATCH] * Fixed the "unset" command and added useful error output (faulted before). * Fixed removing temporary variables (they would always be removed except one after the first command). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23555 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/debug/debug_variables.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/system/kernel/debug/debug_variables.cpp b/src/system/kernel/debug/debug_variables.cpp index 3897db06b8..8bc0b26629 100644 --- a/src/system/kernel/debug/debug_variables.cpp +++ b/src/system/kernel/debug/debug_variables.cpp @@ -104,7 +104,12 @@ cmd_unset_variable(int argc, char **argv) return 0; } - remove_debug_variable(argv[2]); + const char* variable = argv[1]; + + if (is_temporary_variable(variable)) + kprintf("You cannot remove temporary variables.\n"); + else if (!remove_debug_variable(variable)) + kprintf("Did not find variable %s.\n", variable); return 0; } @@ -203,7 +208,7 @@ remove_all_temporary_debug_variables() for (int i = 0; i < kTemporaryVariableCount; i++) { Variable& variable = sTemporaryVariables[i]; if (!variable.IsUsed()) - return; + break; variable.Uninit(); }