Fix skdiff when using windows path that begins with a drive letter
Review URL: https://mail.google.com/mail/u/0/?shva=1#inbox/138d92244ca33549
git-svn-id: http://skia.googlecode.com/svn/trunk@4838 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/tools/skdiff_main.cpp b/tools/skdiff_main.cpp
index 9017f64..d10ebfc 100644
--- a/tools/skdiff_main.cpp
+++ b/tools/skdiff_main.cpp
@@ -1047,11 +1047,20 @@
// Need to convert paths from relative-to-cwd to relative-to-outputDir
// FIXME this doesn't work if there are '..' inside the outputDir
- unsigned int ui;
+
+ bool pathFromRoot;
+#ifdef SK_BUILD_FOR_WIN32
+ pathFromRoot = outputDir.size() > 1 && ':' == outputDir[1];
+#else
+ pathFromRoot = outputDir.size() > 0 && PATH_DIV_CHAR == outputDir[0];
+#endif
SkString relativePath;
- for (ui = 0; ui < outputDir.size(); ui++) {
- if (outputDir[ui] == PATH_DIV_CHAR) {
- relativePath.append(".." PATH_DIV_STR);
+ if (!pathFromRoot) {
+ unsigned int ui;
+ for (ui = 0; ui < outputDir.size(); ui++) {
+ if (outputDir[ui] == PATH_DIV_CHAR) {
+ relativePath.append(".." PATH_DIV_STR);
+ }
}
}