summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2015-10-27 13:02:59 -0400
committerDan Sinclair <dsinclair@chromium.org>2015-10-27 13:02:59 -0400
commite6eae266a48cdcfd464f52df68c97183a4f7987a (patch)
treef62b73bb383f7c43f848042f35c843d2f38637b1
parentfbbb3c3de517309b6808d7a8f4c441aa0abf7065 (diff)
downloadpdfium-e6eae266a48cdcfd464f52df68c97183a4f7987a.tar.xz
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 .
-rw-r--r--samples/pdfium_test.cc30
1 files changed, 29 insertions, 1 deletions
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;
}