summaryrefslogtreecommitdiff
path: root/core/fxcrt
diff options
context:
space:
mode:
authorRyan Harrison <rharrison@chromium.org>2017-10-02 16:04:37 -0400
committerChromium commit bot <commit-bot@chromium.org>2017-10-02 20:21:08 +0000
commitc2ae41abd16aef062fee878160aa18457d2118a7 (patch)
treef22a07d4e976168885260ffef959d149e2fb71b5 /core/fxcrt
parent951b1119d4c7487364bee4c5124b36453e00130d (diff)
downloadpdfium-c2ae41abd16aef062fee878160aa18457d2118a7.tar.xz
Replace GetWord_LSBFirst with FXWORD_GET_LSBFIRSTchromium/3231
The existing implementation of a LSB first word method was incorrect, in addition it was implemented to the BMP code, but also used in the GIF code. Thus is should be moved to a common location. Also added in an implementation for FXWORD_GET_MSBFIRST, since the GIF code will need this. BUG=pdfium:914 Change-Id: I0e84813356fbd456b293a190da3c2cde01a6580b Reviewed-on: https://pdfium-review.googlesource.com/15210 Reviewed-by: Tom Sepez <tsepez@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Diffstat (limited to 'core/fxcrt')
-rw-r--r--core/fxcrt/fx_system.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h
index 8e2957bc98..eb07ebde00 100644
--- a/core/fxcrt/fx_system.h
+++ b/core/fxcrt/fx_system.h
@@ -199,6 +199,12 @@ wchar_t* FXSYS_wcsupr(wchar_t* str);
#define FXSYS_wcsftime wcsftime
#endif // _FX_PLATFORM_ == _FX_PLATFORM_WINDOWS_
+#define FXWORD_GET_LSBFIRST(p) \
+ (static_cast<uint16_t>((static_cast<uint16_t>(p[1]) << 8) | \
+ (static_cast<uint16_t>(p[0]))))
+#define FXWORD_GET_MSBFIRST(p) \
+ (static_cast<uint16_t>((static_cast<uint16_t>(p[0]) << 8) | \
+ (static_cast<uint16_t>(p[1]))))
#define FXDWORD_GET_LSBFIRST(p) \
((static_cast<uint32_t>(p[3]) << 24) | (static_cast<uint32_t>(p[2]) << 16) | \
(static_cast<uint32_t>(p[1]) << 8) | (static_cast<uint32_t>(p[0])))