diff options
author | danny <danny@raw.(none)> | 2009-11-09 15:34:19 +0100 |
---|---|---|
committer | danny <danny@raw.(none)> | 2009-11-09 15:34:19 +0100 |
commit | 35e5d37931a4548df96d0d49f6bd0138e65e4b5b (patch) | |
tree | c8120b7619f7de0033226d8f0489bdade1d881c7 /lib/Plugins/CCpp.cpp | |
parent | 0818f92137a02af8e26031cc3bde0ad99a25cc2c (diff) | |
download | abrt-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.cpp | 13 |
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; |