summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript
diff options
context:
space:
mode:
authorHenrique Nakashima <hnakashima@chromium.org>2017-08-01 19:47:24 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-02 16:02:53 +0000
commitaea80dcc0abc0c310316fa502f91a359bc684758 (patch)
treeb431624ce24b261c93fe6963b5ed14b101ff2e1b /fpdfsdk/javascript
parent33dd830890d38f9083b732cd908ef082f1d89d65 (diff)
downloadpdfium-aea80dcc0abc0c310316fa502f91a359bc684758.tar.xz
Remove CFX_ByteTextBuf from cpdfsdk_interform.cpp and others.
Bug: pdfium:731 Change-Id: I61d38ab3f2b0ac68b8479ade25bab50f3a73c27b Reviewed-on: https://pdfium-review.googlesource.com/9770 Reviewed-by: Tom Sepez <tsepez@chromium.org> Commit-Queue: Henrique Nakashima <hnakashima@chromium.org>
Diffstat (limited to 'fpdfsdk/javascript')
-rw-r--r--fpdfsdk/javascript/Document.cpp16
1 files changed, 11 insertions, 5 deletions
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index ba4b2ae622..77878a53ed 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -7,6 +7,7 @@
#include "fpdfsdk/javascript/Document.h"
#include <algorithm>
+#include <sstream>
#include <utility>
#include <vector>
@@ -382,16 +383,21 @@ bool Document::mailForm(CJS_Runtime* pRuntime,
iLength > 4 ? params[4].ToCFXWideString(pRuntime) : L"";
CFX_WideString cMsg = iLength > 5 ? params[5].ToCFXWideString(pRuntime) : L"";
CPDFSDK_InterForm* pInterForm = m_pFormFillEnv->GetInterForm();
- CFX_ByteTextBuf textBuf;
- if (!pInterForm->ExportFormToFDFTextBuf(textBuf))
+ CFX_ByteString sTextBuf = pInterForm->ExportFormToFDFTextBuf();
+ if (sTextBuf.GetLength() == 0)
return false;
+ FX_STRSIZE nBufSize = sTextBuf.GetLength();
+ char* pMutableBuf = FX_Alloc(char, nBufSize);
+ memcpy(pMutableBuf, sTextBuf.c_str(), nBufSize);
+
pRuntime->BeginBlock();
CPDFSDK_FormFillEnvironment* pFormFillEnv = pRuntime->GetFormFillEnv();
- pFormFillEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI,
- cTo.c_str(), cSubject.c_str(), cCc.c_str(),
- cBcc.c_str(), cMsg.c_str());
+ pFormFillEnv->JS_docmailForm(pMutableBuf, nBufSize, bUI, cTo.c_str(),
+ cSubject.c_str(), cCc.c_str(), cBcc.c_str(),
+ cMsg.c_str());
pRuntime->EndBlock();
+ FX_Free(pMutableBuf);
return true;
}