Convert from FPDF_TEXTPAGE to CPDF_TextPage earlier in fpdf_text.cpp.

Change-Id: I4ee2a05b609fe7968f885b7d3921e18a490bb947
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/72210
Reviewed-by: Tom Sepez <tsepez@chromium.org>
Commit-Queue: Lei Zhang <thestig@chromium.org>
diff --git a/fpdfsdk/fpdf_text.cpp b/fpdfsdk/fpdf_text.cpp
index 4ea780e..1c0364d 100644
--- a/fpdfsdk/fpdf_text.cpp
+++ b/fpdfsdk/fpdf_text.cpp
@@ -61,11 +61,8 @@
 }
 
 FPDF_EXPORT int FPDF_CALLCONV FPDFText_CountChars(FPDF_TEXTPAGE text_page) {
-  if (!text_page)
-    return -1;
-
   CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
-  return textpage->CountChars();
+  return textpage ? textpage->CountChars() : -1;
 }
 
 FPDF_EXPORT unsigned int FPDF_CALLCONV
@@ -317,10 +314,10 @@
                            double y,
                            double xTolerance,
                            double yTolerance) {
-  if (!text_page)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
+  if (!textpage)
     return -3;
 
-  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
   return textpage->GetIndexAtPos(
       CFX_PointF(static_cast<float>(x), static_cast<float>(y)),
       CFX_SizeF(static_cast<float>(xTolerance),
@@ -331,10 +328,10 @@
                                                int start_index,
                                                int char_count,
                                                unsigned short* result) {
-  if (!page || start_index < 0 || char_count < 0 || !result)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(page);
+  if (!textpage || start_index < 0 || char_count < 0 || !result)
     return 0;
 
-  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(page);
   int char_available = textpage->CountChars() - start_index;
   if (char_available <= 0)
     return 0;
@@ -365,11 +362,8 @@
 FPDF_EXPORT int FPDF_CALLCONV FPDFText_CountRects(FPDF_TEXTPAGE text_page,
                                                   int start,
                                                   int count) {
-  if (!text_page)
-    return 0;
-
   CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
-  return textpage->CountRects(start, count);
+  return textpage ? textpage->CountRects(start, count) : 0;
 }
 
 FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDFText_GetRect(FPDF_TEXTPAGE text_page,
@@ -378,10 +372,10 @@
                                                      double* top,
                                                      double* right,
                                                      double* bottom) {
-  if (!text_page)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
+  if (!textpage)
     return false;
 
-  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
   CFX_FloatRect rect;
   bool result = textpage->GetRect(rect_index, &rect);
 
@@ -399,10 +393,10 @@
                                                       double bottom,
                                                       unsigned short* buffer,
                                                       int buflen) {
-  if (!text_page)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
+  if (!textpage)
     return 0;
 
-  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
   CFX_FloatRect rect((float)left, (float)bottom, (float)right, (float)top);
   WideString str = textpage->GetTextByRect(rect);
 
@@ -423,7 +417,8 @@
                    FPDF_WIDESTRING findwhat,
                    unsigned long flags,
                    int start_index) {
-  if (!text_page)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
+  if (!textpage)
     return nullptr;
 
   CPDF_TextPageFind::Options options;
@@ -431,8 +426,7 @@
   options.bMatchWholeWord = !!(flags & FPDF_MATCHWHOLEWORD);
   options.bConsecutive = !!(flags & FPDF_CONSECUTIVE);
   auto find = CPDF_TextPageFind::Create(
-      CPDFTextPageFromFPDFTextPage(text_page),
-      WideStringFromFPDFWideString(findwhat), options,
+      textpage, WideStringFromFPDFWideString(findwhat), options,
       start_index >= 0 ? Optional<size_t>(start_index) : pdfium::nullopt);
 
   // Caller takes ownership.
@@ -484,15 +478,15 @@
 // web link
 FPDF_EXPORT FPDF_PAGELINK FPDF_CALLCONV
 FPDFLink_LoadWebLinks(FPDF_TEXTPAGE text_page) {
-  if (!text_page)
+  CPDF_TextPage* textpage = CPDFTextPageFromFPDFTextPage(text_page);
+  if (!textpage)
     return nullptr;
 
-  CPDF_TextPage* pPage = CPDFTextPageFromFPDFTextPage(text_page);
-  auto pageLink = std::make_unique<CPDF_LinkExtract>(pPage);
-  pageLink->ExtractLinks();
+  auto pagelink = std::make_unique<CPDF_LinkExtract>(textpage);
+  pagelink->ExtractLinks();
 
   // Caller takes ownership.
-  return FPDFPageLinkFromCPDFLinkExtract(pageLink.release());
+  return FPDFPageLinkFromCPDFLinkExtract(pagelink.release());
 }
 
 FPDF_EXPORT int FPDF_CALLCONV FPDFLink_CountWebLinks(FPDF_PAGELINK link_page) {