17 intptr_t sep_length) {
18 return (strncmp(path, sep, sep_length) == 0
19#
if defined(DART_HOST_OS_WINDOWS)
32 const intptr_t sep_length = strlen(sep);
33 intptr_t path_len = strlen(path);
35 for (intptr_t i = path_len - 1; i >= 0; --i) {
36 const char* str = path + i;
39 strncpy(dir, path, i);
55 const intptr_t sep_length = strlen(sep);
56 intptr_t path_len = strlen(path);
58 for (intptr_t i = path_len - 1; i >= 0; --i) {
59 const char* str = path + i;
61 return str + sep_length;
69 const char*
name =
nullptr;
72 intptr_t target_size =
74 if (target_size > 0 && target_size < kTargetSize - 1) {
78 if (
name ==
nullptr) {
80 target_size = strlen(
name);
81 ASSERT(target_size < kTargetSize);
86 char dir_path[kTargetSize];
90 auto initial_dir_path =
100 if (
name ==
nullptr) {
104 target_size = strlen(
name);
106 char absolute_path[kTargetSize];
124#if !defined(DART_HOST_OS_WINDOWS)
129 int len = strlen(path);
130 memcpy(path + len,
".sym", 5);
133 if (file ==
nullptr)
return;
135 int64_t size = file->Length();
static char * StrDup(const char *s)
static CStringUniquePtr CreateCStringUniquePtr(char *str)
std::unique_ptr< char, decltype(std::free) * > CStringUniquePtr
static char * StrNDup(const char *s, intptr_t n)
static bool SetCurrent(Namespace *namespc, const char *path)
static char * CurrentNoScope()
static Utils::CStringUniquePtr GetDirectoryPrefixFromExeName()
static void LoadDartProfilerSymbols(const char *exepath)
static const char * GetCanonicalPath(Namespace *namespc, const char *path, char *dest=nullptr, int dest_size=0)
static const char * PathSeparator()
static File * Open(Namespace *namespc, const char *path, FileOpenMode mode)
static const char * LinkTarget(Namespace *namespc, const char *pathname, char *dest=nullptr, int dest_size=0)
static Type GetType(Namespace *namespc, const char *path, bool follow_links)
static Namespace * Create(intptr_t namespc)
static intptr_t Default()
static char * GetDirectoryFromPath(const char *path, char *dir)
static bool StartsWithPathSeparator(const char *path, const char *sep, intptr_t sep_length)
static const char * GetFileNameFromPath(const char *path)
void * malloc(size_t size)
DART_EXPORT void Dart_AddSymbols(const char *dso_name, void *buffer, intptr_t buffer_size)