Make WideStringToBuffer() call Utf16EncodeMaybeCopyAndReturnLength()
Maybe Utf16EncodeMaybeCopyAndReturnLength() could have the IsEmpty()
check and this WideStringToBuffer() can go completely, but that's
for another day.
No behavior change.
Change-Id: Ib05b473cc29fb60fa8124b8f80c08d1b403b3a64
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/114111
Commit-Queue: Nico Weber <thakis@chromium.org>
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Tom Sepez <tsepez@chromium.org>
Auto-Submit: Nico Weber <thakis@chromium.org>
diff --git a/fpdfsdk/fpdf_structtree.cpp b/fpdfsdk/fpdf_structtree.cpp
index 8e0c9b9..28312fc 100644
--- a/fpdfsdk/fpdf_structtree.cpp
+++ b/fpdfsdk/fpdf_structtree.cpp
@@ -24,12 +24,7 @@
if (str.IsEmpty())
return 0;
- ByteString encodedStr = str.ToUTF16LE();
- const unsigned long len =
- pdfium::base::checked_cast<unsigned long>(encodedStr.GetLength());
- if (buffer && len <= buflen)
- memcpy(buffer, encodedStr.c_str(), len);
- return len;
+ return Utf16EncodeMaybeCopyAndReturnLength(str, buffer, buflen);
}
int GetMcidFromDict(const CPDF_Dictionary* dict) {