summaryrefslogtreecommitdiffstats
path: root/lldb/source/Commands
diff options
context:
space:
mode:
authorCaroline Tice <ctice@apple.com>2010-10-29 21:48:37 +0000
committerCaroline Tice <ctice@apple.com>2010-10-29 21:48:37 +0000
commit20ad3c40f4693d446ce69feda59a5e91ca0ea3a3 (patch)
tree9ee0d6a6ba4718f97a00a3db80890e9490d94d08 /lldb/source/Commands
parent4a0c2d73c3092e0a03223a08cdf4eade3fb8f258 (diff)
downloadbcm5719-llvm-20ad3c40f4693d446ce69feda59a5e91ca0ea3a3.tar.gz
bcm5719-llvm-20ad3c40f4693d446ce69feda59a5e91ca0ea3a3.zip
Add the ability to disable individual log categories, rather
than just the entire log channel. Add checks, where appropriate, to make sure a log channel/category has not been disabled before attempting to write to it. llvm-svn: 117715
Diffstat (limited to 'lldb/source/Commands')
-rw-r--r--lldb/source/Commands/CommandObjectLog.cpp38
1 files changed, 18 insertions, 20 deletions
diff --git a/lldb/source/Commands/CommandObjectLog.cpp b/lldb/source/Commands/CommandObjectLog.cpp
index 56630c9068c..f814dd2e3b4 100644
--- a/lldb/source/Commands/CommandObjectLog.cpp
+++ b/lldb/source/Commands/CommandObjectLog.cpp
@@ -291,31 +291,29 @@ public:
}
else
{
- for (size_t i=0; i<argc; ++i)
- {
- Log::Callbacks log_callbacks;
+ Log::Callbacks log_callbacks;
- std::string channel(args.GetArgumentAtIndex(i));
- if (Log::GetLogChannelCallbacks (channel.c_str(), log_callbacks))
+ std::string channel(args.GetArgumentAtIndex(0));
+ args.Shift (); // Shift off the channel
+ if (Log::GetLogChannelCallbacks (channel.c_str(), log_callbacks))
+ {
+ log_callbacks.disable (args, &result.GetErrorStream());
+ result.SetStatus(eReturnStatusSuccessFinishNoResult);
+ }
+ else if (channel == "all")
+ {
+ Log::DisableAllLogChannels(&result.GetErrorStream());
+ }
+ else
+ {
+ LogChannelSP log_channel_sp (GetLogChannelPluginForChannel(channel.c_str()));
+ if (log_channel_sp)
{
- log_callbacks.disable ();
+ log_channel_sp->Disable(args, &result.GetErrorStream());
result.SetStatus(eReturnStatusSuccessFinishNoResult);
}
- else if (channel == "all")
- {
- Log::DisableAllLogChannels();
- }
else
- {
- LogChannelSP log_channel_sp (GetLogChannelPluginForChannel(channel.c_str()));
- if (log_channel_sp)
- {
- log_channel_sp->Disable();
- result.SetStatus(eReturnStatusSuccessFinishNoResult);
- }
- else
- result.AppendErrorWithFormat("Invalid log channel '%s'.\n", args.GetArgumentAtIndex(0));
- }
+ result.AppendErrorWithFormat("Invalid log channel '%s'.\n", args.GetArgumentAtIndex(0));
}
}
return result.Succeeded();
OpenPOWER on IntegriCloud