Index: fpdfsdk/src/fpdf_dataavail.cpp |
diff --git a/fpdfsdk/src/fpdf_dataavail.cpp b/fpdfsdk/src/fpdf_dataavail.cpp |
index f4e235ccf56e276a6c54b427245f34182c055cce..baf8f9c924947a5c08c6a0dac9d5b7000b59e4e1 100644 |
--- a/fpdfsdk/src/fpdf_dataavail.cpp |
+++ b/fpdfsdk/src/fpdf_dataavail.cpp |
@@ -122,19 +122,20 @@ FPDFAvail_IsDocAvail(FPDF_AVAIL avail, FX_DOWNLOADHINTS* hints) { |
DLLEXPORT FPDF_DOCUMENT STDCALL |
FPDFAvail_GetDocument(FPDF_AVAIL avail, FPDF_BYTESTRING password) { |
- if (!avail) |
+ CFPDF_DataAvail* pDataAvail = static_cast<CFPDF_DataAvail*>(avail); |
+ if (!pDataAvail) |
return NULL; |
+ |
CPDF_Parser* pParser = new CPDF_Parser; |
pParser->SetPassword(password); |
- |
- FX_DWORD err_code = pParser->StartAsynParse( |
- ((CFPDF_DataAvail*)avail)->m_pDataAvail->GetFileRead()); |
- if (err_code) { |
+ CPDF_Parser::Error error = |
+ pParser->StartAsynParse(pDataAvail->m_pDataAvail->GetFileRead()); |
+ if (error != CPDF_Parser::SUCCESS) { |
delete pParser; |
- ProcessParseError(err_code); |
+ ProcessParseError(error); |
return NULL; |
} |
- ((CFPDF_DataAvail*)avail)->m_pDataAvail->SetDocument(pParser->GetDocument()); |
+ pDataAvail->m_pDataAvail->SetDocument(pParser->GetDocument()); |
CheckUnSupportError(pParser->GetDocument(), FPDF_ERR_SUCCESS); |
return FPDFDocumentFromCPDFDocument(pParser->GetDocument()); |
} |