Index: runtime/bin/dartutils.cc |
diff --git a/runtime/bin/dartutils.cc b/runtime/bin/dartutils.cc |
index ff8b53d48d260f7ca00dd1cd6746e623291a670d..d1af47c3d3bdadc2fc32fd7e5b8b50ce58fccad3 100644 |
--- a/runtime/bin/dartutils.cc |
+++ b/runtime/bin/dartutils.cc |
@@ -232,6 +232,16 @@ const char* DartUtils::RemoveScheme(const char* url) { |
} |
+char* DartUtils::DirName(const char* url) { |
+ const char* slash = strrchr(url, File::PathSeparator()[0]); |
+ if (slash == NULL) { |
+ return strdup(url); |
+ } else { |
+ return strndup(url, slash - url + 1); |
+ } |
+} |
+ |
+ |
void* DartUtils::OpenFile(const char* name, bool write) { |
File* file = File::Open(name, write ? File::kWriteTruncate : File::kRead); |
return reinterpret_cast<void*>(file); |