Index: src/log.cc |
diff --git a/src/log.cc b/src/log.cc |
index 9861b1b5a68b75961c78a2cebfcd5f655d46220a..458a996fb83d65c30d2dfaecf32c0cdebbb04b05 100644 |
--- a/src/log.cc |
+++ b/src/log.cc |
@@ -1767,9 +1767,22 @@ static void AddIsolateIdIfNeeded(std::ostream& os, // NOLINT |
static void PrepareLogFileName(std::ostream& os, // NOLINT |
Isolate* isolate, const char* file_name) { |
- AddIsolateIdIfNeeded(os, isolate); |
+ int slash_count = 0; |
for (const char* p = file_name; *p; p++) { |
- if (*p == '%') { |
+ if (base::OS::isDirectorySeparator(*p)) |
+ slash_count++; |
Yang
2015/03/03 08:36:57
no line break after if.
sejunho
2015/03/03 10:14:50
Done.
|
+ } |
+ |
+ for (const char* p = file_name; *p; p++) { |
+ if (slash_count == 0) { |
+ AddIsolateIdIfNeeded(os, isolate); |
+ slash_count--; |
+ } |
+ |
+ if (base::OS::isDirectorySeparator(*p)) { |
+ slash_count--; |
+ os << *p; |
+ } else if (*p == '%') { |
Yang
2015/03/03 08:36:57
How about
if (*p == '%') {
...
} else {
if (
sejunho
2015/03/03 10:14:50
OK.
|
p++; |
switch (*p) { |
case '\0': |