string_bytes: export GetExternalParts
authorTrevor Norris <trev.norris@gmail.com>
Tue, 2 Jul 2013 07:07:47 +0000 (00:07 -0700)
committerTrevor Norris <trev.norris@gmail.com>
Tue, 30 Jul 2013 21:41:01 +0000 (14:41 -0700)
The method is useful elsewhere when needing to check if external and
grab data.

src/string_bytes.cc
src/string_bytes.h

index 64a2937..492c135 100644 (file)
@@ -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());
index 7d861ff..aa32aea 100644 (file)
@@ -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