| Index: runtime/bin/platform_linux.cc
|
| diff --git a/runtime/bin/platform_linux.cc b/runtime/bin/platform_linux.cc
|
| index 24cbfd3ebf58bd840cfffdfb17784544ffb332c7..c6dc3ccb15bcc74aa14208ac94ef7c111fa6d510 100644
|
| --- a/runtime/bin/platform_linux.cc
|
| +++ b/runtime/bin/platform_linux.cc
|
| @@ -14,7 +14,6 @@
|
|
|
| #include "bin/fdutils.h"
|
|
|
| -
|
| namespace dart {
|
| namespace bin {
|
|
|
| @@ -58,9 +57,12 @@ char** Platform::Environment(intptr_t* count) {
|
| // provide access to modifying environment variables.
|
| intptr_t i = 0;
|
| char** tmp = environ;
|
| - while (*(tmp++) != NULL) i++;
|
| + while (*(tmp++) != NULL) {
|
| + i++;
|
| + }
|
| *count = i;
|
| - char** result = new char*[i];
|
| + char** result;
|
| + result = reinterpret_cast<char**>(Dart_ScopeAllocate(i * sizeof(*result)));
|
| for (intptr_t current = 0; current < i; current++) {
|
| result[current] = environ[current];
|
| }
|
| @@ -68,15 +70,11 @@ char** Platform::Environment(intptr_t* count) {
|
| }
|
|
|
|
|
| -void Platform::FreeEnvironment(char** env, intptr_t count) {
|
| - delete[] env;
|
| -}
|
| -
|
| -
|
| -char* Platform::ResolveExecutablePath() {
|
| +const char* Platform::ResolveExecutablePath() {
|
| return File::LinkTarget("/proc/self/exe");
|
| }
|
|
|
| +
|
| void Platform::Exit(int exit_code) {
|
| exit(exit_code);
|
| }
|
|
|