summaryrefslogtreecommitdiff
path: root/core/fxcrt/fx_system.h
diff options
context:
space:
mode:
authorRyan Harrison <rharrison@chromium.org>2017-08-01 15:16:59 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-08-01 19:35:49 +0000
commitda129ab38c3fb6ed3de85ffb6f8938eb31130a53 (patch)
tree1ed3980d91ae9258f917124d69f0276260e34b71 /core/fxcrt/fx_system.h
parentde7c9620c37486413e1f7db4567b4b0cea6a857f (diff)
downloadpdfium-da129ab38c3fb6ed3de85ffb6f8938eb31130a53.tar.xz
Replace raw value for constant error value in string operations
Currently Find() and other methods that return a FX_STRSIZE return -1 to indicate error/failure. This means that there is a lot of magic numbers and magic checks floating around. The standard library for similar operations uses a npos constant. This CL implements FX_STRNPOS, and replaces usages of magic number checking. It also does some type cleanup along the way where it was obvious that FX_STRSIZE should be being used. Removing the magic numbers should make eventually changing FX_STRSIZE to be unsigned easier in the future. BUG=pdfium:828 Change-Id: I67e481e44cf2f75a1698afa8fbee4f375a74c490 Reviewed-on: https://pdfium-review.googlesource.com/9651 Commit-Queue: Ryan Harrison <rharrison@chromium.org> Reviewed-by: Tom Sepez <tsepez@chromium.org>
Diffstat (limited to 'core/fxcrt/fx_system.h')
-rw-r--r--core/fxcrt/fx_system.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h
index 5e8aa6c0e6..e9288641b8 100644
--- a/core/fxcrt/fx_system.h
+++ b/core/fxcrt/fx_system.h
@@ -127,6 +127,10 @@ void FXSYS_vsnprintf(char* str, size_t size, const char* fmt, va_list ap);
#include "third_party/base/numerics/safe_conversions.h"
+// Constant used to indicate failure from find methods and other methods that
+// return FX_STRSIZE.
+constexpr FX_STRSIZE FX_STRNPOS = -1;
+
#define FXSYS_strlen(ptr) pdfium::base::checked_cast<FX_STRSIZE>(strlen(ptr))
#define FXSYS_wcslen(ptr) pdfium::base::checked_cast<FX_STRSIZE>(wcslen(ptr))