Reviewers: Christian Plesner Hansen, Description: Introduced a platform independent version of strchr, as the return value is const on Windows.
This fixes building of D8 on Windows. Mac OS and FreeBSD changes have not been tested. Please review this at http://codereview.chromium.org/20534 SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/d8.cc M src/platform-freebsd.cc M src/platform-linux.cc M src/platform-macos.cc M src/platform-win32.cc M src/platform.h Index: src/platform-freebsd.cc =================================================================== --- src/platform-freebsd.cc (revision 1325) +++ src/platform-freebsd.cc (working copy) @@ -184,6 +184,11 @@ } +char* OS::StrChr(const char* str, int c) { + return strchr(str, c); +} + + void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) { strncpy(dest.start(), src, n); } Index: src/d8.cc =================================================================== --- src/d8.cc (revision 1325) +++ src/d8.cc (working copy) @@ -420,7 +420,7 @@ static char* ReadToken(const char* data, char token) { - char* next = ::strchr(data, token); + char* next = i::OS::StrChr(data, token); if (next != NULL) { *next = '\0'; return (next + 1); Index: src/platform-win32.cc =================================================================== --- src/platform-win32.cc (revision 1325) +++ src/platform-win32.cc (working copy) @@ -732,6 +732,11 @@ } +char* OS::StrChr(const char* str, int c) { + return const_cast<char*>(strchr(str, c)); +} + + void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) { int result = strncpy_s(dest.start(), dest.length(), src, n); USE(result); Index: src/platform-linux.cc =================================================================== --- src/platform-linux.cc (revision 1325) +++ src/platform-linux.cc (working copy) @@ -180,6 +180,11 @@ } +char* OS::StrChr(const char* str, int c) { + return strchr(str, c); +} + + void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) { strncpy(dest.start(), src, n); } Index: src/platform-macos.cc =================================================================== --- src/platform-macos.cc (revision 1325) +++ src/platform-macos.cc (working copy) @@ -185,6 +185,11 @@ } +char* OS::StrChr(const char* str, int c) { + return strchr(str, c); +} + + void OS::StrNCpy(Vector<char> dest, const char* src, size_t n) { strncpy(dest.start(), src, n); } Index: src/platform.h =================================================================== --- src/platform.h (revision 1325) +++ src/platform.h (working copy) @@ -219,6 +219,7 @@ const char* format, va_list args); + static char* StrChr(const char* str, int c); static void StrNCpy(Vector<char> dest, const char* src, size_t n); static char* StrDup(const char* str); static char* StrNDup(const char* str, size_t n); --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
