diff options
author | Ryan Harrison <rharrison@chromium.org> | 2017-08-01 15:16:59 -0400 |
---|---|---|
committer | Chromium commit bot <commit-bot@chromium.org> | 2017-08-01 19:35:49 +0000 |
commit | da129ab38c3fb6ed3de85ffb6f8938eb31130a53 (patch) | |
tree | 1ed3980d91ae9258f917124d69f0276260e34b71 /core/fxge/win32 | |
parent | de7c9620c37486413e1f7db4567b4b0cea6a857f (diff) | |
download | pdfium-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/fxge/win32')
-rw-r--r-- | core/fxge/win32/fx_win32_device.cpp | 33 |
1 files changed, 19 insertions, 14 deletions
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp index 4427755cf5..b707a76c08 100644 --- a/core/fxge/win32/fx_win32_device.cpp +++ b/core/fxge/win32/fx_win32_device.cpp @@ -503,7 +503,7 @@ void* CFX_Win32FallbackFontInfo::MapFont(int weight, void CFX_Win32FontInfo::GetGBPreference(CFX_ByteString& face, int weight, int picth_family) { - if (face.Find("KaiTi") >= 0 || face.Find("\xbf\xac") >= 0) { + if (face.Find("KaiTi") != FX_STRNPOS || face.Find("\xbf\xac") != FX_STRNPOS) { if (m_KaiTi.IsEmpty()) { m_KaiTi = FindFont("KaiTi"); if (m_KaiTi.IsEmpty()) { @@ -511,7 +511,8 @@ void CFX_Win32FontInfo::GetGBPreference(CFX_ByteString& face, } } face = m_KaiTi; - } else if (face.Find("FangSong") >= 0 || face.Find("\xb7\xc2\xcb\xce") >= 0) { + } else if (face.Find("FangSong") != FX_STRNPOS || + face.Find("\xb7\xc2\xcb\xce") != FX_STRNPOS) { if (m_FangSong.IsEmpty()) { m_FangSong = FindFont("FangSong"); if (m_FangSong.IsEmpty()) { @@ -519,9 +520,11 @@ void CFX_Win32FontInfo::GetGBPreference(CFX_ByteString& face, } } face = m_FangSong; - } else if (face.Find("SimSun") >= 0 || face.Find("\xcb\xce") >= 0) { + } else if (face.Find("SimSun") != FX_STRNPOS || + face.Find("\xcb\xce") != FX_STRNPOS) { face = "SimSun"; - } else if (face.Find("SimHei") >= 0 || face.Find("\xba\xda") >= 0) { + } else if (face.Find("SimHei") != FX_STRNPOS || + face.Find("\xba\xda") != FX_STRNPOS) { face = "SimHei"; } else if (!(picth_family & FF_ROMAN) && weight > 550) { face = "SimHei"; @@ -533,15 +536,16 @@ void CFX_Win32FontInfo::GetGBPreference(CFX_ByteString& face, void CFX_Win32FontInfo::GetJapanesePreference(CFX_ByteString& face, int weight, int picth_family) { - if (face.Find("Gothic") >= 0 || - face.Find("\x83\x53\x83\x56\x83\x62\x83\x4e") >= 0) { - if (face.Find("PGothic") >= 0 || - face.Find("\x82\x6f\x83\x53\x83\x56\x83\x62\x83\x4e") >= 0) { + if (face.Find("Gothic") != FX_STRNPOS || + face.Find("\x83\x53\x83\x56\x83\x62\x83\x4e") != FX_STRNPOS) { + if (face.Find("PGothic") != FX_STRNPOS || + face.Find("\x82\x6f\x83\x53\x83\x56\x83\x62\x83\x4e") != FX_STRNPOS) { face = "MS PGothic"; - } else if (face.Find("UI Gothic") >= 0) { + } else if (face.Find("UI Gothic") != FX_STRNPOS) { face = "MS UI Gothic"; } else { - if (face.Find("HGSGothicM") >= 0 || face.Find("HGMaruGothicMPRO") >= 0) { + if (face.Find("HGSGothicM") != FX_STRNPOS || + face.Find("HGMaruGothicMPRO") != FX_STRNPOS) { face = "MS PGothic"; } else { face = "MS Gothic"; @@ -549,9 +553,10 @@ void CFX_Win32FontInfo::GetJapanesePreference(CFX_ByteString& face, } return; } - if (face.Find("Mincho") >= 0 || face.Find("\x96\xbe\x92\xa9") >= 0) { - if (face.Find("PMincho") >= 0 || - face.Find("\x82\x6f\x96\xbe\x92\xa9") >= 0) { + if (face.Find("Mincho") != FX_STRNPOS || + face.Find("\x96\xbe\x92\xa9") != FX_STRNPOS) { + if (face.Find("PMincho") != FX_STRNPOS || + face.Find("\x82\x6f\x96\xbe\x92\xa9") != FX_STRNPOS) { face = "MS PMincho"; } else { face = "MS Mincho"; @@ -635,7 +640,7 @@ void* CFX_Win32FontInfo::MapFont(int weight, face = "Gulim"; break; case FX_CHARSET_ChineseTraditional: - if (face.Find("MSung") >= 0) { + if (face.Find("MSung") != FX_STRNPOS) { face = "MingLiU"; } else { face = "PMingLiU"; |