Index: runtime/bin/directory_fuchsia.cc |
diff --git a/runtime/bin/directory_fuchsia.cc b/runtime/bin/directory_fuchsia.cc |
index c2139104c7e6aefb1438ebe4381ce8de43b4539f..6b7fc5bd50128d802068bcf3d4500741bee6b334 100644 |
--- a/runtime/bin/directory_fuchsia.cc |
+++ b/runtime/bin/directory_fuchsia.cc |
@@ -7,13 +7,13 @@ |
#include "bin/directory.h" |
-#include <dirent.h> // NOLINT |
-#include <errno.h> // NOLINT |
-#include <stdlib.h> // NOLINT |
-#include <string.h> // NOLINT |
+#include <dirent.h> // NOLINT |
+#include <errno.h> // NOLINT |
+#include <stdlib.h> // NOLINT |
+#include <string.h> // NOLINT |
#include <sys/param.h> // NOLINT |
-#include <sys/stat.h> // NOLINT |
-#include <unistd.h> // NOLINT |
+#include <sys/stat.h> // NOLINT |
+#include <unistd.h> // NOLINT |
#include "bin/dartutils.h" |
#include "bin/file.h" |
@@ -27,34 +27,28 @@ PathBuffer::PathBuffer() : length_(0) { |
data_ = calloc(PATH_MAX + 1, sizeof(char)); // NOLINT |
} |
- |
PathBuffer::~PathBuffer() { |
free(data_); |
} |
- |
bool PathBuffer::AddW(const wchar_t* name) { |
UNREACHABLE(); |
return false; |
} |
- |
char* PathBuffer::AsString() const { |
return reinterpret_cast<char*>(data_); |
} |
- |
wchar_t* PathBuffer::AsStringW() const { |
UNREACHABLE(); |
return NULL; |
} |
- |
const char* PathBuffer::AsScopedString() const { |
return DartUtils::ScopedCopyCString(AsString()); |
} |
- |
bool PathBuffer::Add(const char* name) { |
const intptr_t name_length = strnlen(name, PATH_MAX + 1); |
if (name_length == 0) { |
@@ -74,13 +68,11 @@ bool PathBuffer::Add(const char* name) { |
} |
} |
- |
void PathBuffer::Reset(intptr_t new_length) { |
length_ = new_length; |
AsString()[length_] = '\0'; |
} |
- |
// A linked list of symbolic links, with their unique file system identifiers. |
// These are scanned to detect loops while doing a recursive directory listing. |
struct LinkList { |
@@ -89,7 +81,6 @@ struct LinkList { |
LinkList* next; |
}; |
- |
ListType DirectoryListingEntry::Next(DirectoryListing* listing) { |
if (done_) { |
return kListDone; |
@@ -189,7 +180,6 @@ ListType DirectoryListingEntry::Next(DirectoryListing* listing) { |
return kListDone; |
} |
- |
DirectoryListingEntry::~DirectoryListingEntry() { |
ResetLink(); |
if (lister_ != 0) { |
@@ -197,7 +187,6 @@ DirectoryListingEntry::~DirectoryListingEntry() { |
} |
} |
- |
void DirectoryListingEntry::ResetLink() { |
if ((link_ != NULL) && ((parent_ == NULL) || (parent_->link_ != link_))) { |
delete link_; |
@@ -208,7 +197,6 @@ void DirectoryListingEntry::ResetLink() { |
} |
} |
- |
Directory::ExistsResult Directory::Exists(const char* dir_name) { |
struct stat entry_info; |
int success = NO_RETRY_EXPECTED(stat(dir_name, &entry_info)); |
@@ -235,12 +223,10 @@ Directory::ExistsResult Directory::Exists(const char* dir_name) { |
} |
} |
- |
char* Directory::CurrentNoScope() { |
return getcwd(NULL, 0); |
} |
- |
const char* Directory::Current() { |
char buffer[PATH_MAX]; |
if (getcwd(buffer, PATH_MAX) == NULL) { |
@@ -249,12 +235,10 @@ const char* Directory::Current() { |
return DartUtils::ScopedCopyCString(buffer); |
} |
- |
bool Directory::SetCurrent(const char* path) { |
return (NO_RETRY_EXPECTED(chdir(path)) == 0); |
} |
- |
bool Directory::Create(const char* dir_name) { |
// Create the directory with the permissions specified by the |
// process umask. |
@@ -266,7 +250,6 @@ bool Directory::Create(const char* dir_name) { |
return (result == 0); |
} |
- |
const char* Directory::SystemTemp() { |
PathBuffer path; |
const char* temp_dir = getenv("TMPDIR"); |
@@ -289,7 +272,6 @@ const char* Directory::SystemTemp() { |
return path.AsScopedString(); |
} |
- |
const char* Directory::CreateTemp(const char* prefix) { |
// Returns a new, unused directory name, adding characters to the end |
// of prefix. Creates the directory with the permissions specified |
@@ -310,16 +292,13 @@ const char* Directory::CreateTemp(const char* prefix) { |
return path.AsScopedString(); |
} |
- |
static bool DeleteRecursively(PathBuffer* path); |
- |
static bool DeleteFile(char* file_name, PathBuffer* path) { |
return path->Add(file_name) && |
(NO_RETRY_EXPECTED(unlink(path->AsString())) == 0); |
} |
- |
static bool DeleteDir(char* dir_name, PathBuffer* path) { |
if ((strcmp(dir_name, ".") == 0) || (strcmp(dir_name, "..") == 0)) { |
return true; |
@@ -327,7 +306,6 @@ static bool DeleteDir(char* dir_name, PathBuffer* path) { |
return path->Add(dir_name) && DeleteRecursively(path); |
} |
- |
static bool DeleteRecursively(PathBuffer* path) { |
// Do not recurse into links for deletion. Instead delete the link. |
// If it's a file, delete it. |
@@ -402,7 +380,6 @@ static bool DeleteRecursively(PathBuffer* path) { |
return false; |
} |
- |
bool Directory::Delete(const char* dir_name, bool recursive) { |
if (!recursive) { |
if ((File::GetType(dir_name, false) == File::kIsLink) && |
@@ -419,7 +396,6 @@ bool Directory::Delete(const char* dir_name, bool recursive) { |
} |
} |
- |
bool Directory::Rename(const char* path, const char* new_path) { |
ExistsResult exists = Exists(path); |
if (exists != EXISTS) { |