summaryrefslogtreecommitdiffstats
path: root/lib/Plugins/CCpp.cpp
diff options
context:
space:
mode:
authordanny <danny@raw.(none)>2009-11-09 15:34:19 +0100
committerdanny <danny@raw.(none)>2009-11-09 15:34:19 +0100
commit35e5d37931a4548df96d0d49f6bd0138e65e4b5b (patch)
treec8120b7619f7de0033226d8f0489bdade1d881c7 /lib/Plugins/CCpp.cpp
parent0818f92137a02af8e26031cc3bde0ad99a25cc2c (diff)
downloadabrt-35e5d37931a4548df96d0d49f6bd0138e65e4b5b.tar.gz
abrt-35e5d37931a4548df96d0d49f6bd0138e65e4b5b.tar.xz
abrt-35e5d37931a4548df96d0d49f6bd0138e65e4b5b.zip
fix and update rating
Diffstat (limited to 'lib/Plugins/CCpp.cpp')
-rw-r--r--lib/Plugins/CCpp.cpp13
1 files changed, 6 insertions, 7 deletions
diff --git a/lib/Plugins/CCpp.cpp b/lib/Plugins/CCpp.cpp
index 6d6edd56..1ab0e641 100644
--- a/lib/Plugins/CCpp.cpp
+++ b/lib/Plugins/CCpp.cpp
@@ -164,6 +164,8 @@ static LineRating rate_line(const char *line)
{
#define FOUND(x) (strstr(line, x) != NULL)
/* see the "enum LineRating" comments for possible combinations */
+ if (FOUND(" at "))
+ return Good;
const char *function = strstr(line, " in ");
if (function)
{
@@ -171,12 +173,6 @@ static LineRating rate_line(const char *line)
{
function = NULL;
}
- else
- {
- bool source_file = FOUND(" at ");
- if (source_file)
- return Good;
- }
}
bool library = FOUND(" from ");
if (function && library)
@@ -193,7 +189,7 @@ static LineRating rate_line(const char *line)
/* returns number of "stars" to show */
static int rate_backtrace(const char *backtrace)
{
- int i, len;
+ int i, j, len;
int multiplier = 0;
int rating = 0;
int best_possible_rating = 0;
@@ -210,6 +206,9 @@ static int rate_backtrace(const char *backtrace)
if (backtrace[i] == '#') /* this separates frames from each other */
{
std::string s(backtrace + i + 1, len);
+ for (j=0; j<len; j++) /* replace tabs with spaces */
+ if (s[j] == '\t')
+ s[j] = ' ';
multiplier++;
rating += rate_line(s.c_str()) * multiplier;
best_possible_rating += BestRating * multiplier;