Skip to content

Commit 728e18e

Browse files
cola119ruyadorno
authored andcommitted
src: fix to use replacement character
PR-URL: #43999Fixes: #43962 Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Darshan Sen <raisinten@gmail.com> Reviewed-By: LiviaMedeiros <livia@cirno.name> Reviewed-By: Feng Yu <F3n67u@outlook.com>
1 parent cc6e0fc commit 728e18e

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

‎src/node_i18n.cc‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -425,7 +425,11 @@ void ConverterObject::Create(const FunctionCallbackInfo<Value>& args) {
425425
nullptr, nullptr, nullptr, &status);
426426
}
427427

428-
newConverterObject(env, obj, conv, flags);
428+
auto converter = newConverterObject(env, obj, conv, flags);
429+
size_t sublen = ucnv_getMinCharSize(conv);
430+
std::string sub(sublen, '?');
431+
converter->set_subst_chars(sub.c_str());
432+
429433
args.GetReturnValue().Set(obj);
430434
}
431435

‎test/parallel/test-whatwg-encoding-custom-textdecoder.js‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,3 +199,10 @@ if (common.hasIntl) {
199199
conststr=decoder.decode(chunk);
200200
assert.strictEqual(str,'foo\ufffd');
201201
}
202+
203+
if(common.hasIntl){
204+
constdecoder=newTextDecoder('Shift_JIS');
205+
constchunk=newUint8Array([-1]);
206+
conststr=decoder.decode(chunk);
207+
assert.strictEqual(str,'\ufffd');
208+
}

0 commit comments

Comments
 (0)