diff --git a/src/node.cc b/src/node.cc index f9bbc24eac9a0e..64bbfaac48af71 100644 --- a/src/node.cc +++ b/src/node.cc @@ -1454,7 +1454,7 @@ enum encoding ParseEncoding(const char* encoding, } else if (StringEqualNoCase(encoding, "latin1")) { return LATIN1; } else if (StringEqualNoCase(encoding, "binary")) { - return BINARY; + return LATIN1; // BINARY is a deprecated alias of LATIN1. } else if (StringEqualNoCase(encoding, "buffer")) { return BUFFER; } else if (StringEqualNoCase(encoding, "hex")) { diff --git a/src/node.h b/src/node.h index 4a1eac0644ffc4..c744c3e1d29f05 100644 --- a/src/node.h +++ b/src/node.h @@ -284,7 +284,9 @@ inline void NODE_SET_PROTOTYPE_METHOD(v8::Local recv, } #define NODE_SET_PROTOTYPE_METHOD node::NODE_SET_PROTOTYPE_METHOD -enum encoding {ASCII, UTF8, BASE64, UCS2, LATIN1, BINARY, HEX, BUFFER}; +// BINARY is a deprecated alias of LATIN1. +enum encoding {ASCII, UTF8, BASE64, UCS2, BINARY, HEX, BUFFER, LATIN1 = BINARY}; + NODE_EXTERN enum encoding ParseEncoding( v8::Isolate* isolate, v8::Local encoding_v, diff --git a/src/string_bytes.cc b/src/string_bytes.cc index 11b072adc2ebae..668a3b1efe2875 100644 --- a/src/string_bytes.cc +++ b/src/string_bytes.cc @@ -283,7 +283,6 @@ size_t StringBytes::Write(Isolate* isolate, switch (encoding) { case ASCII: case LATIN1: - case BINARY: if (is_extern && str->IsOneByte()) { memcpy(buf, data, nbytes); } else { @@ -388,8 +387,7 @@ size_t StringBytes::StorageSize(Isolate* isolate, size_t data_size = 0; bool is_buffer = Buffer::HasInstance(val); - if (is_buffer && - (encoding == BUFFER || encoding == BINARY || encoding == LATIN1)) { + if (is_buffer && (encoding == BUFFER || encoding == LATIN1)) { return Buffer::Length(val); } @@ -398,7 +396,6 @@ size_t StringBytes::StorageSize(Isolate* isolate, switch (encoding) { case ASCII: case LATIN1: - case BINARY: data_size = str->Length(); break; @@ -439,8 +436,7 @@ size_t StringBytes::Size(Isolate* isolate, size_t data_size = 0; bool is_buffer = Buffer::HasInstance(val); - if (is_buffer && - (encoding == BUFFER || encoding == BINARY || encoding == LATIN1)) + if (is_buffer && (encoding == BUFFER || encoding == LATIN1)) return Buffer::Length(val); const char* data; @@ -452,7 +448,6 @@ size_t StringBytes::Size(Isolate* isolate, switch (encoding) { case ASCII: case LATIN1: - case BINARY: data_size = str->Length(); break; @@ -656,7 +651,6 @@ Local StringBytes::Encode(Isolate* isolate, break; case LATIN1: - case BINARY: if (buflen < EXTERN_APEX) val = OneByteString(isolate, buf, buflen); else diff --git a/test/addons/parse-encoding/binding.cc b/test/addons/parse-encoding/binding.cc index def91901f06d09..062e9cb275f082 100644 --- a/test/addons/parse-encoding/binding.cc +++ b/test/addons/parse-encoding/binding.cc @@ -12,6 +12,8 @@ namespace { V(UCS2) \ V(UTF8) \ +static_assert(node::BINARY == node::LATIN1, "BINARY == LATIN1"); + void ParseEncoding(const v8::FunctionCallbackInfo& args) { const node::encoding encoding = node::ParseEncoding(args.GetIsolate(), args[0],