Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "base/debug/stack_trace.h" | 5 #include "base/debug/stack_trace.h" |
| 6 | 6 |
| 7 #include <algorithm> | |
| 8 #include <string.h> | |
| 9 | |
| 7 namespace base { | 10 namespace base { |
| 8 namespace debug { | 11 namespace debug { |
| 9 | 12 |
| 13 StackTrace::StackTrace(const void* const* trace, int count) { | |
| 14 count = std::min(count, kMaxTraces); | |
|
Scott Hess - ex-Googler
2011/08/27 05:15:40
OK, so weird one ... on my 10.6 machine at work ru
Scott Hess - ex-Googler
2011/08/27 05:44:49
http://en.wikipedia.org/wiki/One_Definition_Rule#D
Mark Mentovai
2011/08/28 15:40:01
I know that you found an answer to your question,
Scott Hess - ex-Googler
2011/08/29 20:13:36
Unfortunately, the code still has to set |count_|
| |
| 15 if (count) | |
| 16 memcpy(trace_, trace, count * sizeof(trace[0])); | |
| 17 count_ = count; | |
| 18 } | |
| 19 | |
| 10 StackTrace::~StackTrace() { | 20 StackTrace::~StackTrace() { |
| 11 } | 21 } |
| 12 | 22 |
| 13 const void *const *StackTrace::Addresses(size_t* count) const { | 23 const void *const *StackTrace::Addresses(size_t* count) const { |
| 14 *count = count_; | 24 *count = count_; |
| 15 if (count_) | 25 if (count_) |
| 16 return trace_; | 26 return trace_; |
| 17 return NULL; | 27 return NULL; |
| 18 } | 28 } |
| 19 | 29 |
| 20 } // namespace debug | 30 } // namespace debug |
| 21 } // namespace base | 31 } // namespace base |
| OLD | NEW |