]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/stackwalk.cpp
fixing the usage of hishape
[wxWidgets.git] / src / unix / stackwalk.cpp
index 6b8b6051c197c958fe284e243816b87425d8b08a..62669bcf2d36235c1c0db6fd777c3e5d190e088e 100644 (file)
@@ -239,8 +239,9 @@ int wxStackWalker::InitFrames(wxStackFrame *arr, size_t n, void **addresses, cha
     // parse addr2line output (should be exactly 2 lines for each address)
     // reusing the g_buf used for building the command line above
     wxString name, filename;
-    unsigned long line, curr=0;
-    for (size_t i=0; i<n; i++)
+    unsigned long line = 0,
+                  curr = 0;
+    for  ( size_t i = 0; i < n; i++ )
     {
         // 1st line has function name
         if ( fgets(g_buf, WXSIZEOF(g_buf), fp) )
@@ -253,7 +254,8 @@ int wxStackWalker::InitFrames(wxStackFrame *arr, size_t n, void **addresses, cha
         }
         else
         {
-            wxLogDebug(_T("cannot read addr2line output for %d-th stack frame!"), i);
+            wxLogDebug(_T("cannot read addr2line output for stack frame #%lu"),
+                       (unsigned long)i);
             return false;
         }
 
@@ -266,10 +268,9 @@ int wxStackWalker::InitFrames(wxStackFrame *arr, size_t n, void **addresses, cha
             const size_t posColon = filename.find(_T(':'));
             if ( posColon != wxString::npos )
             {
-                // parse line number
-                if ( !wxString(filename, posColon + 1, wxString::npos).
-                        ToULong(&line) )
-                    line = 0;
+                // parse line number (it's ok if it fails, this will just leave
+                // line at its current, invalid, 0 value)
+                wxString(filename, posColon + 1, wxString::npos).ToULong(&line);
 
                 // remove line number from 'filename'
                 filename.erase(posColon);