From eb815bf1c91d74bb03df52f8f7c586d2b2130341 Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 27 Oct 2015 13:08:41 -0400 Subject: Merge to XFA: Add context to file load failures in pdfium_test. Currently if pdfium_test fails to load the document it just says it failed. This CL adds some extra context by looking at the error set by the load and reporting it to the user. TBR=tsepez@chromium.org Review URL: https://codereview.chromium.org/1413923006 . (cherry picked from commit e6eae266a48cdcfd464f52df68c97183a4f7987a) Review URL: https://codereview.chromium.org/1423123002 . --- samples/pdfium_test.cc | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/samples/pdfium_test.cc b/samples/pdfium_test.cc index c9d84af04d..f1ea429ccc 100644 --- a/samples/pdfium_test.cc +++ b/samples/pdfium_test.cc @@ -389,7 +389,35 @@ void RenderPdf(const std::string& name, const char* pBuf, size_t len, } if (!doc) { - fprintf(stderr, "Load pdf docs unsuccessful.\n"); + unsigned long err = FPDF_GetLastError(); + fprintf(stderr, "Load pdf docs unsuccessful: "); + switch (err) { + case FPDF_ERR_SUCCESS: + fprintf(stderr, "Success"); + break; + case FPDF_ERR_UNKNOWN: + fprintf(stderr, "Unknown error"); + break; + case FPDF_ERR_FILE: + fprintf(stderr, "File not found or could not be opened"); + break; + case FPDF_ERR_FORMAT: + fprintf(stderr, "File not in PDF format or corrupted"); + break; + case FPDF_ERR_PASSWORD: + fprintf(stderr, "Password required or incorrect password"); + break; + case FPDF_ERR_SECURITY: + fprintf(stderr, "Unsupported security scheme"); + break; + case FPDF_ERR_PAGE: + fprintf(stderr, "Page not found or content error"); + break; + default: + fprintf(stderr, "Unknown error %ld", err); + } + fprintf(stderr, ".\n"); + FPDFAvail_Destroy(pdf_avail); return; } -- cgit v1.2.3