Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/gcov
diff options
context:
space:
mode:
authorXavier Raynaud2010-11-12 10:32:19 +0000
committerXavier Raynaud2010-11-12 10:32:19 +0000
commita1d2fc6a0fbdc29a77eca454426baebd853f09a3 (patch)
tree9a32f9be4054a314cf5e3d160db576489f5beafa /gcov
parentb56b3295ddebd764c824d500120d0c2099d04c40 (diff)
downloadorg.eclipse.linuxtools-a1d2fc6a0fbdc29a77eca454426baebd853f09a3.tar.gz
org.eclipse.linuxtools-a1d2fc6a0fbdc29a77eca454426baebd853f09a3.tar.xz
org.eclipse.linuxtools-a1d2fc6a0fbdc29a77eca454426baebd853f09a3.zip
integrate patch proposal from [Bugzilla 329710]
Diffstat (limited to 'gcov')
-rw-r--r--gcov/org.eclipse.linuxtools.gcov/src/org/eclipse/linuxtools/gcov/parser/CovManager.java7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcov/org.eclipse.linuxtools.gcov/src/org/eclipse/linuxtools/gcov/parser/CovManager.java b/gcov/org.eclipse.linuxtools.gcov/src/org/eclipse/linuxtools/gcov/parser/CovManager.java
index b1c3fa0434..1c89d1d099 100644
--- a/gcov/org.eclipse.linuxtools.gcov/src/org/eclipse/linuxtools/gcov/parser/CovManager.java
+++ b/gcov/org.eclipse.linuxtools.gcov/src/org/eclipse/linuxtools/gcov/parser/CovManager.java
@@ -322,6 +322,13 @@ public class CovManager implements Serializable {
while ((line =lnr.readLine()) != null) {
if (line.endsWith(".gcda"))
{
+ // absolute .gcda filepaths retrieved using the "strings" tool may
+ // be prefixed by random printable characters so strip leading
+ // characters until the filepath starts with "X:/", "X:\", "/" or "\"
+ // FIXME: need a more robust mechanism to locate .gcda files [Bugzilla 329710]
+ while ((line.length() > 6) && !line.matches("^([A-Za-z]:)?[/\\\\].*")) {
+ line = line.substring(1);
+ }
IPath p = new Path(line);
String filename = p.toString();
if (!list.contains(filename)) list.add(filename);

Back to the top