| Index: src/api.cc
|
| ===================================================================
|
| --- src/api.cc (revision 2982)
|
| +++ src/api.cc (working copy)
|
| @@ -2446,20 +2446,14 @@
|
| ENTER_V8;
|
| ASSERT(start >= 0 && length >= -1);
|
| i::Handle<i::String> str = Utils::OpenHandle(this);
|
| - // Flatten the string for efficiency. This applies whether we are
|
| - // using StringInputBuffer or Get(i) to access the characters.
|
| - str->TryFlattenIfNotFlat();
|
| int end = length;
|
| if ( (length == -1) || (length > str->length() - start) )
|
| end = str->length() - start;
|
| if (end < 0) return 0;
|
| - write_input_buffer.Reset(start, *str);
|
| - int i;
|
| - for (i = 0; i < end; i++)
|
| - buffer[i] = write_input_buffer.GetNext();
|
| - if (length == -1 || i < length)
|
| - buffer[i] = '\0';
|
| - return i;
|
| + i::String::WriteToFlat(*str, buffer, start, end);
|
| + if (length == -1 || end < length)
|
| + buffer[end] = '\0';
|
| + return end;
|
| }
|
|
|
|
|
|
|