@ -270,8 +270,7 @@ static size_t hex_decode(char* buf,
}
}
bool StringBytes : : GetExternalParts ( Isolate * isolate ,
bool StringBytes : : GetExternalParts ( Local < Value > val ,
Local < Value > val ,
const char * * data ,
const char * * data ,
size_t * len ) {
size_t * len ) {
if ( Buffer : : HasInstance ( val ) ) {
if ( Buffer : : HasInstance ( val ) ) {
@ -306,8 +305,6 @@ bool StringBytes::GetExternalParts(Isolate* isolate,
size_t StringBytes : : WriteUCS2 ( char * buf ,
size_t StringBytes : : WriteUCS2 ( char * buf ,
size_t buflen ,
size_t buflen ,
size_t nbytes ,
const char * data ,
Local < String > str ,
Local < String > str ,
int flags ,
int flags ,
size_t * chars_written ) {
size_t * chars_written ) {
@ -353,7 +350,7 @@ size_t StringBytes::Write(Isolate* isolate,
HandleScope scope ( isolate ) ;
HandleScope scope ( isolate ) ;
const char * data = nullptr ;
const char * data = nullptr ;
size_t nbytes = 0 ;
size_t nbytes = 0 ;
const bool is_extern = GetExternalParts ( isolate , val , & data , & nbytes ) ;
const bool is_extern = GetExternalParts ( val , & data , & nbytes ) ;
const size_t external_nbytes = nbytes ;
const size_t external_nbytes = nbytes ;
CHECK ( val - > IsString ( ) = = true ) ;
CHECK ( val - > IsString ( ) = = true ) ;
@ -391,7 +388,7 @@ size_t StringBytes::Write(Isolate* isolate,
memcpy ( buf , data , nbytes ) ;
memcpy ( buf , data , nbytes ) ;
nchars = nbytes / sizeof ( uint16_t ) ;
nchars = nbytes / sizeof ( uint16_t ) ;
} else {
} else {
nbytes = WriteUCS2 ( buf , buflen , nbytes , data , str , flags , & nchars ) ;
nbytes = WriteUCS2 ( buf , buflen , str , flags , & nchars ) ;
}
}
if ( chars_written ! = nullptr )
if ( chars_written ! = nullptr )
* chars_written = nchars ;
* chars_written = nchars ;
@ -439,8 +436,7 @@ size_t StringBytes::Write(Isolate* isolate,
}
}
bool StringBytes : : IsValidString ( Isolate * isolate ,
bool StringBytes : : IsValidString ( Local < String > string ,
Local < String > string ,
enum encoding enc ) {
enum encoding enc ) {
if ( enc = = HEX & & string - > Length ( ) % 2 ! = 0 )
if ( enc = = HEX & & string - > Length ( ) % 2 ! = 0 )
return false ;
return false ;
@ -512,7 +508,7 @@ size_t StringBytes::Size(Isolate* isolate,
return Buffer : : Length ( val ) ;
return Buffer : : Length ( val ) ;
const char * data ;
const char * data ;
if ( GetExternalParts ( isolate , val , & data , & data_size ) )
if ( GetExternalParts ( val , & data , & data_size ) )
return data_size ;
return data_size ;
Local < String > str = val - > ToString ( isolate ) ;
Local < String > str = val - > ToString ( isolate ) ;