-/* $Id$
-
-This file is part of libmspcore
-Copyright © 2007 Mikko Rasa, Mikkosoft Productions
-Distributed under the LGPL
-*/
-
// Must include something to test for glibc
#include <cstdlib>
#if !defined(WIN32) && defined(__GLIBC__)
{
#if !defined(WIN32) && defined(__GLIBC__)
void *addresses[50];
- int count=::backtrace(addresses, 50);
+ int count = ::backtrace(addresses, 50);
Backtrace bt;
Dl_info dli;
for(int i=0; i<count; ++i)
{
StackFrame frame;
- frame.address=addresses[i];
+ frame.address = addresses[i];
if(dladdr(addresses[i], &dli))
{
- frame.file=dli.dli_fname;
+ frame.file = dli.dli_fname;
if(dli.dli_sname)
- frame.symbol=demangle(dli.dli_sname);
+ frame.symbol = demangle(dli.dli_sname);
}
else
- frame.file="<unknown>";
+ frame.file = "<unknown>";
bt.frames.push_back(frame);
}
ostream &operator<<(ostream &out, const Backtrace &bt)
{
- const list<Backtrace::StackFrame> &frames=bt.get_frames();
+ const list<Backtrace::StackFrame> &frames = bt.get_frames();
for(list<Backtrace::StackFrame>::const_iterator i=frames.begin(); i!=frames.end(); ++i)
out<<*i<<'\n';