| Index: fpdfsdk/src/fpdfview.cpp
|
| diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
|
| index a419749e8e6c217d17cc214493f4ae2079a6c4bf..8895dce0764a54d5db52b379728aa0f2f9422f23 100644
|
| --- a/fpdfsdk/src/fpdfview.cpp
|
| +++ b/fpdfsdk/src/fpdfview.cpp
|
| @@ -155,12 +155,20 @@ DLLEXPORT void STDCALL FPDF_SetSandBoxPolicy(FPDF_DWORD policy,
|
| return FSDK_SetSandBoxPolicy(policy, enable);
|
| }
|
|
|
| +
|
| DLLEXPORT FPDF_DOCUMENT STDCALL FPDF_LoadDocument(FPDF_STRING file_path,
|
| FPDF_BYTESTRING password) {
|
| + // NOTE: the creation of the file needs to be by the embedder on the
|
| + // other side of this API.
|
| + IFX_FileRead* pFileAccess = FX_CreateFileRead((const FX_CHAR*)file_path);
|
| + if (!pFileAccess) {
|
| + return nullptr;
|
| + }
|
| +
|
| CPDF_Parser* pParser = new CPDF_Parser;
|
| pParser->SetPassword(password);
|
|
|
| - FX_DWORD err_code = pParser->StartParse((const FX_CHAR*)file_path);
|
| + FX_DWORD err_code = pParser->StartParse(pFileAccess);
|
| if (err_code) {
|
| delete pParser;
|
| ProcessParseError(err_code);
|
|
|