From 83fc223a843b3534961764d269c5e789dc6cb0f7 Mon Sep 17 00:00:00 2001 From: Tom Sepez Date: Fri, 31 Mar 2017 12:34:27 -0700 Subject: Move FX_FILESIZE to fx_system.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove dependency on fx_stream.h from fx_safe_types.h. We're going to hit cylces in include file dependencies otherwise when the partition allocator work is landed. Change-Id: I35bf78038a08599559b959f1403aa0f8fbf87739 Reviewed-on: https://pdfium-review.googlesource.com/3552 Commit-Queue: Tom Sepez Reviewed-by: Nicolás Peña --- core/fxcrt/fx_safe_types.h | 1 - core/fxcrt/fx_stream.h | 4 +--- core/fxcrt/fx_system.h | 10 ++++++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/core/fxcrt/fx_safe_types.h b/core/fxcrt/fx_safe_types.h index 66dbc57681..c7362b82f3 100644 --- a/core/fxcrt/fx_safe_types.h +++ b/core/fxcrt/fx_safe_types.h @@ -7,7 +7,6 @@ #include // For size_t. -#include "core/fxcrt/fx_stream.h" // for FX_FILESIZE. #include "core/fxcrt/fx_system.h" #include "third_party/base/numerics/safe_math.h" diff --git a/core/fxcrt/fx_stream.h b/core/fxcrt/fx_stream.h index 4a89a3400e..51a602dfb5 100644 --- a/core/fxcrt/fx_stream.h +++ b/core/fxcrt/fx_stream.h @@ -16,9 +16,8 @@ class CFindFileDataA; typedef CFindFileDataA FX_FileHandle; -#define FX_FILESIZE int32_t -#else +#else // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ #include #include @@ -35,7 +34,6 @@ typedef CFindFileDataA FX_FileHandle; #endif // O_LARGEFILE typedef DIR FX_FileHandle; -#define FX_FILESIZE off_t #endif // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ FX_FileHandle* FX_OpenFolder(const char* path); diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h index a99a18a332..89042daf71 100644 --- a/core/fxcrt/fx_system.h +++ b/core/fxcrt/fx_system.h @@ -77,6 +77,16 @@ extern "C" { // TODO(palmer): it should be a |size_t|, or at least unsigned. typedef int FX_STRSIZE; +// PDFium file sizes match the platform, but PDFium itself does not support +// files larger than 2GB even if the platform does. The value must be signed +// to support -1 error returns. +// TODO(tsepez): support larger files. +#if _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ +#define FX_FILESIZE int32_t +#else // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ +#define FX_FILESIZE off_t +#endif // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_ + #ifndef ASSERT #ifndef NDEBUG #define ASSERT assert -- cgit v1.2.3