summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBo Xu <bo_xu@foxitsoftware.com>2015-01-21 14:20:28 -0800
committerBo Xu <bo_xu@foxitsoftware.com>2015-01-21 14:20:28 -0800
commitdc43b322915c5256a5a9458e6b8cd28bcecf91ae (patch)
tree678d12670f54485277517f2478e0f397fd63c7c7
parent0185408126529d5df7e095c5789affd4ae971375 (diff)
downloadpdfium-dc43b322915c5256a5a9458e6b8cd28bcecf91ae.tar.xz
Use signed long for FPDF_GetNamedDest buffer length.
Need to have return value -1 indicating insufficient buffer. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/862163002
-rw-r--r--fpdfsdk/include/fpdfview.h14
-rw-r--r--fpdfsdk/src/fpdfview.cpp4
2 files changed, 9 insertions, 9 deletions
diff --git a/fpdfsdk/include/fpdfview.h b/fpdfsdk/include/fpdfview.h
index e36d54e0a2..f9df4083a8 100644
--- a/fpdfsdk/include/fpdfview.h
+++ b/fpdfsdk/include/fpdfview.h
@@ -623,19 +623,19 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDestByName(FPDF_DOCUMENT document,FPDF_
// Function: FPDF_GetNamedDest
// Get the specified named destinations of the PDF document by index.
// Parameters:
-// document - Handle to a document
-// index - The index of named destination.
-// buffer - The buffer to obtain destination name, used as wchar_t*.
-// buflen - The length of the buffer in byte.
+// document - Handle to a document
+// index - The index of named destination.
+// buffer - The buffer to obtain destination name, used as wchar_t*.
+// buflen [in/out] - Size of the buffer in bytes on input, length of the result in bytes on output or -1 if the buffer is too small.
// Return value:
-// The destination handle of a named destination, NULL when retrieving the length.
+// The destination handle of a named destination, or NULL if no named destination corresponding to |index|.
// Comments:
// Call this function twice to get the name of the named destination:
// 1) First time pass in |buffer| as NULL and get buflen.
// 2) Second time pass in allocated |buffer| and buflen to retrieve |buffer|, which should be used as wchar_t*.
-// If buflen is not sufficiently large, it will be returned as -1.
+// If buflen is not sufficiently large, it will be set to -1 upon return.
//
-DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void* buffer, unsigned long& buflen);
+DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void* buffer, long& buflen);
#ifdef __cplusplus
diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp
index 87ef3ee5b2..3f6bdd94b3 100644
--- a/fpdfsdk/src/fpdfview.cpp
+++ b/fpdfsdk/src/fpdfview.cpp
@@ -817,7 +817,7 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDestByName(FPDF_DOCUMENT document,FPDF_
return name_tree.LookupNamedDest(pDoc, name);
}
-DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void* buffer, unsigned long& buflen)
+DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index, void* buffer, long& buflen)
{
if (!buffer)
buflen = 0;
@@ -859,7 +859,7 @@ DLLEXPORT FPDF_DEST STDCALL FPDF_GetNamedDest(FPDF_DOCUMENT document, int index,
} else if (buflen >= len) {
memcpy(buffer, utf16Name.c_str(), len);
} else {
- len = -1;
+ buflen = -1;
}
return (FPDF_DEST)pDestObj;
}