summaryrefslogtreecommitdiff
path: root/rufl_paint.c
diff options
context:
space:
mode:
authorJames Bursa <james@netsurf-browser.org>2005-04-13 19:26:07 +0000
committerJames Bursa <james@netsurf-browser.org>2005-04-13 19:26:07 +0000
commitfef981f68c4cdd6541daae3a7b5422e9bb33ee7f (patch)
treec6ba19e9d2c3db85100fd9fc284d5ad85a92aa2a /rufl_paint.c
parenta9768c64b5df87af089e14401924b313ea2b0e72 (diff)
downloadlibrufl-fef981f68c4cdd6541daae3a7b5422e9bb33ee7f.tar.gz
librufl-fef981f68c4cdd6541daae3a7b5422e9bb33ee7f.tar.bz2
[project @ 2005-04-13 19:26:07 by bursa]
Fix crash with characters 0x10000 or greater. svn path=/import/rufl/; revision=2461
Diffstat (limited to 'rufl_paint.c')
-rw-r--r--rufl_paint.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/rufl_paint.c b/rufl_paint.c
index adfcb4a..f6cdefc 100644
--- a/rufl_paint.c
+++ b/rufl_paint.c
@@ -196,8 +196,10 @@ rufl_code rufl_process(rufl_action action,
rufl_utf8_read(string, length, u);
if (charset && rufl_character_set_test(charset, u))
font1 = font;
- else
+ else if (u < 0x10000)
font1 = rufl_substitution_table[u];
+ else
+ font1 = NOT_AVAILABLE;
do {
s[0] = u;
offset_map[0] = offset_u;
@@ -211,8 +213,10 @@ rufl_code rufl_process(rufl_action action,
offset_map[n] = offset_u;
if (charset && rufl_character_set_test(charset, u))
font1 = font;
- else
+ else if (u < 0x10000)
font1 = rufl_substitution_table[u];
+ else
+ font1 = NOT_AVAILABLE;
if (font1 == font0)
n++;
}