diff options
author | Xavier Raynaud | 2010-11-12 10:32:19 +0000 |
---|---|---|
committer | Xavier Raynaud | 2010-11-12 10:32:19 +0000 |
commit | a1d2fc6a0fbdc29a77eca454426baebd853f09a3 (patch) | |
tree | 9a32f9be4054a314cf5e3d160db576489f5beafa /gcov | |
parent | b56b3295ddebd764c824d500120d0c2099d04c40 (diff) | |
download | org.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.java | 7 |
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);
|