diff options
Diffstat (limited to 'fpdfsdk/javascript')
-rw-r--r-- | fpdfsdk/javascript/Document.cpp | 16 |
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; } |