aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2020-01-31 10:55:14 +1100
committerNeil <nyamatongwe@gmail.com>2020-01-31 10:55:14 +1100
commit048e6c1815d8fbcc9e0ef0adb9482307c31d634a (patch)
treec4904251ecda475f7e80ea63af72d98dbafdb98d
parentec4efb9730d205cce09277844521ac2ed6288778 (diff)
downloadscintilla-mirror-048e6c1815d8fbcc9e0ef0adb9482307c31d634a.tar.gz
Avoid Clang warning with extra test.
Harmonize types to avoid casts.
-rw-r--r--win32/PlatWin.cxx10
1 files changed, 5 insertions, 5 deletions
diff --git a/win32/PlatWin.cxx b/win32/PlatWin.cxx
index c9f296a90..348cbb255 100644
--- a/win32/PlatWin.cxx
+++ b/win32/PlatWin.cxx
@@ -1992,14 +1992,14 @@ void SurfaceD2D::MeasureWidths(Font &font_, std::string_view text, XYPOSITION *p
}
// A cluster may be more than one WCHAR, such as for "ffi" which is a ligature in the Candara font
FLOAT position = 0.0f;
- size_t ti=0;
- for (size_t ci=0; ci<count; ci++) {
- for (size_t inCluster=0; inCluster<clusterMetrics[ci].length; inCluster++) {
+ int ti=0;
+ for (unsigned int ci=0; ci<count; ci++) {
+ for (unsigned int inCluster=0; inCluster<clusterMetrics[ci].length; inCluster++) {
poses.buffer[ti++] = position + clusterMetrics[ci].width * (inCluster + 1) / clusterMetrics[ci].length;
}
position += clusterMetrics[ci].width;
}
- PLATFORM_ASSERT(ti == static_cast<size_t>(tbuf.tlen));
+ PLATFORM_ASSERT(ti == tbuf.tlen);
if (unicodeMode) {
// Map the widths given for UTF-16 characters back onto the UTF-8 input string
int ui=0;
@@ -2010,7 +2010,7 @@ void SurfaceD2D::MeasureWidths(Font &font_, std::string_view text, XYPOSITION *p
if (byteCount == 4) { // Non-BMP
ui++;
}
- for (unsigned int bytePos=0; (bytePos<byteCount) && (i<text.length()); bytePos++) {
+ for (unsigned int bytePos=0; (bytePos<byteCount) && (i<text.length()) && (ui<tbuf.tlen); bytePos++) {
positions[i++] = poses.buffer[ui];
}
ui++;