fixed napi_get_value_string_utf8 in ark

Signed-off-by: xliu <liuxin259@huawei.com>
This commit is contained in:
xliu
2021-10-13 10:02:31 +08:00
parent 83fd2f8fcd
commit 128bae4514
@@ -45,9 +45,9 @@ void ArkNativeString::GetCString(char* buffer, size_t size, size_t* length)
LocalScope scope(vm);
Global<StringRef> val = value_;
if (buffer == nullptr) {
*length = val->Length();
*length = val->Utf8Length() - 1;
} else if (size != 0) {
int copied = val->WriteUtf8(buffer, size) - 1;
int copied = val->WriteUtf8(buffer, val->Utf8Length());
buffer[copied] = '\0';
*length = copied;
} else {
@@ -86,7 +86,7 @@ size_t ArkNativeString::EncodeWriteUtf8(char* buffer, size_t bufferSize, int32_t
break;
}
str->WriteUtf8((buffer + pos), writableSize);
str->WriteUtf8((buffer + pos), str->Utf8Length());
writableSize -= len;
pos += len;
}