summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/CCpp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Plugins/CCpp.cpp')
-rw-r--r--lib/Plugins/CCpp.cpp36
1 files changed, 17 insertions, 19 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index 2845688..de83231 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -118,26 +118,24 @@ void CLanguageCCpp::GetIndependentBacktrace(const std::string& pBacktrace, std::
}
if (line[jj] == '#')
{
- // "#0 0x080483a8 in main () at sigsegv.c:6
- while(!isspace(line[jj]))
+ while(jj < line.length())
{
- jj++;
- }
- // " 0x080483a8 in main () at sigsegv.c:6
- while (isspace(line[jj]))
- {
- jj++;
- }
- // "0x080483a8 in main () at sigsegv.c:6
- while (isalnum(line[jj]))
- {
- jj++;
- }
- // " in main () at sigsegv.c:6
- while (jj < line.length())
- {
- pIndependentBacktrace += line[jj];
- jj++;
+ if (isspace(line[jj]))
+ {
+ jj++;
+ }
+ else if (line[jj] == '0' && line[jj+1] == 'x')
+ {
+ while (isalnum(line[jj]))
+ {
+ jj++;
+ }
+ }
+ else
+ {
+ pIndependentBacktrace += line[jj];
+ jj++;
+ }
}
}
ii++;