Browse Source

string_bytes: export GetExternalParts

The method is useful elsewhere when needing to check if external and
grab data.
Trevor Norris 11 years ago
parent
commit
63fc6a63c8
  1. 5
      src/string_bytes.cc
  2. 6
      src/string_bytes.h

5
src/string_bytes.cc

@ -230,12 +230,13 @@ size_t hex_decode(char* buf,
}
bool GetExternalParts(Handle<Value> val, const char** data, size_t* len) {
bool StringBytes::GetExternalParts(Handle<Value> val,
const char** data,
size_t* len) {
if (Buffer::HasInstance(val)) {
*data = Buffer::Data(val);
*len = Buffer::Length(val);
return true;
}
assert(val->IsString());

6
src/string_bytes.h

@ -44,6 +44,12 @@ class StringBytes {
// very much slower for UTF-8
static size_t Size(v8::Handle<v8::Value> val, enum encoding enc);
// If the string is external then assign external properties to data and len,
// then return true. If not return false.
static bool GetExternalParts(v8::Handle<v8::Value> val,
const char** data,
size_t* len);
// Write the bytes from the string or buffer into the char*
// returns the number of bytes written, which will always be
// <= buflen. Use StorageSize/Size first to know how much

Loading…
Cancel
Save