Author: pluto
Date: Fri Jul 13 12:42:19 2007
New Revision: 8674

Modified:
   backtracexx/backtracexx.cpp
   backtracexx/backtracexx.hpp
Log:
- don't require PEXCEPTION_POINTERS while PCONTEXT is enough for stack walking.

Modified: backtracexx/backtracexx.cpp
==============================================================================
--- backtracexx/backtracexx.cpp (original)
+++ backtracexx/backtracexx.cpp Fri Jul 13 12:42:19 2007
@@ -143,7 +143,7 @@
        {
        }
 
-       Trace scan( PEXCEPTION_POINTERS ex )
+       Trace scan( ::PCONTEXT ctx )
        {
                Trace trace;
 
@@ -162,9 +162,9 @@
                ::CONTEXT context = { 0 };
                ::STACKFRAME64 stackFrame = { 0 };
                stackFrame.AddrPC.Mode = stackFrame.AddrFrame.Mode = 
stackFrame.AddrStack.Mode = AddrModeFlat;
-               if ( ex )
+               if ( ctx )
                {
-                       context = *( ex->ContextRecord );
+                       context = *ctx;
                        Frame frame;
                        frame.address = context.Eip;
                        lookupSymbol( frame );

Modified: backtracexx/backtracexx.hpp
==============================================================================
--- backtracexx/backtracexx.hpp (original)
+++ backtracexx/backtracexx.hpp Fri Jul 13 12:42:19 2007
@@ -19,7 +19,7 @@
 #else
 
 #define BACKTRACEXX_EXPORT     __attribute__(( visibility( "default" ) ))
-typedef void* PEXCEPTION_POINTERS;
+typedef void* PCONTEXT;
 
 #endif
 
@@ -42,7 +42,7 @@
        //      ex == 0, scan() stack from current frame.
        //      ex != 0, scan() stack from specified context (e.g. passed from 
SEH handler).
        //
-       BACKTRACEXX_EXPORT Trace scan( ::PEXCEPTION_POINTERS /* not used on 
linux */ ex = 0 );
+       BACKTRACEXX_EXPORT Trace scan( ::PCONTEXT /* not used on linux */ ctx = 
0 );
        BACKTRACEXX_EXPORT std::ostream& operator << ( std::ostream&, Trace 
const& );
 }
 
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to