summaryrefslogtreecommitdiff
path: root/fpdfsdk/javascript/Document.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'fpdfsdk/javascript/Document.cpp')
-rw-r--r--fpdfsdk/javascript/Document.cpp16
1 files changed, 5 insertions, 11 deletions
diff --git a/fpdfsdk/javascript/Document.cpp b/fpdfsdk/javascript/Document.cpp
index 77878a53ed..ba4b2ae622 100644
--- a/fpdfsdk/javascript/Document.cpp
+++ b/fpdfsdk/javascript/Document.cpp
@@ -7,7 +7,6 @@
#include "fpdfsdk/javascript/Document.h"
#include <algorithm>
-#include <sstream>
#include <utility>
#include <vector>
@@ -383,21 +382,16 @@ 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_ByteString sTextBuf = pInterForm->ExportFormToFDFTextBuf();
- if (sTextBuf.GetLength() == 0)
+ CFX_ByteTextBuf textBuf;
+ if (!pInterForm->ExportFormToFDFTextBuf(textBuf))
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(pMutableBuf, nBufSize, bUI, cTo.c_str(),
- cSubject.c_str(), cCc.c_str(), cBcc.c_str(),
- cMsg.c_str());
+ pFormFillEnv->JS_docmailForm(textBuf.GetBuffer(), textBuf.GetLength(), bUI,
+ cTo.c_str(), cSubject.c_str(), cCc.c_str(),
+ cBcc.c_str(), cMsg.c_str());
pRuntime->EndBlock();
- FX_Free(pMutableBuf);
return true;
}