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) {