diff --git a/src/platform-freebsd.cc b/src/platform-freebsd.cc index 6aca664606..d68ccae856 100644 --- a/src/platform-freebsd.cc +++ b/src/platform-freebsd.cc @@ -199,28 +199,6 @@ void OS::StrNCpy(Vector dest, const char* src, size_t n) { } -char *OS::StrDup(const char* str) { - return strdup(str); -} - - -char* OS::StrNDup(const char* str, size_t n) { - // Stupid implementation of strndup since freebsd isn't born with - // one. - size_t len = strlen(str); - if (len <= n) { - return StrDup(str); - } - char* result = new char[n+1]; - size_t i; - for (i = 0; i <= n; i++) { - result[i] = str[i]; - } - result[i] = '\0'; - return result; -} - - double OS::nan_value() { return NAN; } diff --git a/src/platform-linux.cc b/src/platform-linux.cc index 295d870903..406ff78dea 100644 --- a/src/platform-linux.cc +++ b/src/platform-linux.cc @@ -196,16 +196,6 @@ void OS::StrNCpy(Vector dest, const char* src, size_t n) { } -char* OS::StrDup(const char* str) { - return strdup(str); -} - - -char* OS::StrNDup(const char* str, size_t n) { - return strndup(str, n); -} - - double OS::nan_value() { return NAN; } diff --git a/src/platform-macos.cc b/src/platform-macos.cc index 2e8f9473c0..2c85065ed2 100644 --- a/src/platform-macos.cc +++ b/src/platform-macos.cc @@ -202,28 +202,6 @@ void OS::StrNCpy(Vector dest, const char* src, size_t n) { } -char* OS::StrDup(const char* str) { - return strdup(str); -} - - -char* OS::StrNDup(const char* str, size_t n) { - // Stupid implementation of strndup since macos isn't born with - // one. - size_t len = strlen(str); - if (len <= n) { - return StrDup(str); - } - char* result = new char[n+1]; - size_t i; - for (i = 0; i <= n; i++) { - result[i] = str[i]; - } - result[i] = '\0'; - return result; -} - - // We keep the lowest and highest addresses mapped as a quick way of // determining that pointers are outside the heap (used mostly in assertions // and verification). The estimate is conservative, ie, not all addresses in diff --git a/src/platform-win32.cc b/src/platform-win32.cc index 32711e0739..00e5a7c723 100644 --- a/src/platform-win32.cc +++ b/src/platform-win32.cc @@ -745,28 +745,6 @@ void OS::StrNCpy(Vector dest, const char* src, size_t n) { } -char* OS::StrDup(const char* str) { - return _strdup(str); -} - - -char* OS::StrNDup(const char* str, size_t n) { - // Stupid implementation of strndup since windows isn't born with - // one. - size_t len = strlen(str); - if (len <= n) { - return StrDup(str); - } - char* result = new char[n+1]; - size_t i; - for (i = 0; i <= n; i++) { - result[i] = str[i]; - } - result[i] = '\0'; - return result; -} - - // We keep the lowest and highest addresses mapped as a quick way of // determining that pointers are outside the heap (used mostly in assertions // and verification). The estimate is conservative, ie, not all addresses in diff --git a/src/platform.h b/src/platform.h index 29160ba1b5..aca91ee7cf 100644 --- a/src/platform.h +++ b/src/platform.h @@ -228,8 +228,6 @@ class OS { static char* StrChr(char* str, int c); static void StrNCpy(Vector dest, const char* src, size_t n); - static char* StrDup(const char* str); - static char* StrNDup(const char* str, size_t n); // Support for profiler. Can do nothing, in which case ticks // occuring in shared libraries will not be properly accounted diff --git a/test/cctest/cctest.cc b/test/cctest/cctest.cc index 652c68a844..d90889036d 100644 --- a/test/cctest/cctest.cc +++ b/test/cctest/cctest.cc @@ -44,9 +44,9 @@ CcTest::CcTest(TestFunction* callback, const char* file, const char* name, basename = strrchr(const_cast(file), '\\'); } if (!basename) { - basename = v8::internal::OS::StrDup(file); + basename = v8::internal::StrDup(file); } else { - basename = v8::internal::OS::StrDup(basename + 1); + basename = v8::internal::StrDup(basename + 1); } // Drop the extension, if there is one. char *extension = strrchr(basename, '.'); @@ -82,7 +82,7 @@ int main(int argc, char* argv[]) { print_run_count = false; } else { - char* arg_copy = v8::internal::OS::StrDup(arg); + char* arg_copy = v8::internal::StrDup(arg); char* testname = strchr(arg_copy, '/'); if (testname) { // Split the string in two by nulling the slash and then run @@ -115,7 +115,7 @@ int main(int argc, char* argv[]) { test = test->prev(); } } - free(arg_copy); + v8::internal::DeleteArray(arg_copy); } } if (print_run_count && tests_run != 1)