From e6eae266a48cdcfd464f52df68c97183a4f7987a Mon Sep 17 00:00:00 2001 From: Dan Sinclair Date: Tue, 27 Oct 2015 13:02:59 -0400 Subject: 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. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1413923006 . --- 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 66dd3f2f1b..0a1693ac7a 100644 --- a/samples/pdfium_test.cc +++ b/samples/pdfium_test.cc @@ -390,7 +390,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