Change CBC_OneDimWriter::Encode() to return DataVector.

Return a vector instead of having a raw pointer that is caller owned
plus a separate size out-parameter.

Bug: pdfium:1872
Change-Id: Ibf3bf8d28fba7519feedede419d4b9557cd6c997
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/100914
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fxbarcode/cbc_code39.cpp b/fxbarcode/cbc_code39.cpp
index b3bbdc3..229048e 100644
--- a/fxbarcode/cbc_code39.cpp
+++ b/fxbarcode/cbc_code39.cpp
@@ -24,7 +24,6 @@
 #include <memory>
 
 #include "core/fxcrt/fx_coordinates.h"
-#include "core/fxcrt/fx_memory_wrappers.h"
 #include "fxbarcode/oned/BC_OnedCode39Writer.h"
 
 CBC_Code39::CBC_Code39()
@@ -37,14 +36,11 @@
   if (!pWriter->CheckContentValidity(contents))
     return false;
 
-  int32_t outWidth = 0;
   WideString filtercontents = pWriter->FilterContents(contents);
   m_renderContents = pWriter->RenderTextContents(contents);
   ByteString byteString = filtercontents.ToUTF8();
-  std::unique_ptr<uint8_t, FxFreeDeleter> data(
-      pWriter->Encode(byteString, outWidth));
   return pWriter->RenderResult(m_renderContents.AsStringView(),
-                               pdfium::make_span(data.get(), outWidth));
+                               pWriter->Encode(byteString));
 }
 
 bool CBC_Code39::RenderDevice(CFX_RenderDevice* device,