[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2] master 351fc4b 2/2: [pfr] Fix binary search (#47514).
From: |
Werner LEMBERG |
Subject: |
[freetype2] master 351fc4b 2/2: [pfr] Fix binary search (#47514). |
Date: |
Tue, 29 Mar 2016 07:15:06 +0000 |
branch: master
commit 351fc4b4a4e6ac8036df7248ab6c24129ca13269
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[pfr] Fix binary search (#47514).
* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
conditions correctly.
---
ChangeLog | 7 +++++++
src/pfr/pfrsbit.c | 11 +++++------
src/sfnt/ttcmap.c | 2 +-
3 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index e7e92c1..2473546 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,12 @@
2016-03-29 Werner Lemberg <address@hidden>
+ [pfr] Fix binary search (#47514).
+
+ * src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Handle border
+ conditions correctly.
+
+2016-03-29 Werner Lemberg <address@hidden>
+
[pfr] Minor.
* src/pfr/pfrsbit.c (pfr_lookup_bitmap_data): Replace `left',
diff --git a/src/pfr/pfrsbit.c b/src/pfr/pfrsbit.c
index abdbb20..68da033 100644
--- a/src/pfr/pfrsbit.c
+++ b/src/pfr/pfrsbit.c
@@ -364,13 +364,12 @@
else
code = PFR_NEXT_BYTE( buff );
- if ( code == char_code )
- goto Found_It;
-
- if ( code < char_code )
- min = mid;
- else
+ if ( char_code < code )
max = mid;
+ else if ( char_code > code )
+ min = mid + 1;
+ else
+ goto Found_It;
}
Fail:
diff --git a/src/sfnt/ttcmap.c b/src/sfnt/ttcmap.c
index 8f9e3c1..01255a8 100644
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -3104,7 +3104,7 @@
if ( char_code < start )
max = mid;
- else if ( char_code > start+cnt )
+ else if ( char_code > start + cnt )
min = mid + 1;
else
return TRUE;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2] master 351fc4b 2/2: [pfr] Fix binary search (#47514).,
Werner LEMBERG <=