mirror of https://github.com/nodejs/node.git
string_bytes: export GetExternalParts
The method is useful elsewhere when needing to check if external and grab data.pull/5010/head
parent
3ff2cbc892
commit
63fc6a63c8
|
@ -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());
|
||||
|
|
|
@ -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…
Reference in New Issue