summaryrefslogtreecommitdiff
path: root/firmware/font.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/font.c')
-rw-r--r--firmware/font.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/firmware/font.c b/firmware/font.c
index baaec13d3c..ffa5855d10 100644
--- a/firmware/font.c
+++ b/firmware/font.c
@@ -724,7 +724,6 @@ load_cache_entry(struct font_cache_entry* p, void* callback_data)
724 struct font* pf = callback_data; 724 struct font* pf = callback_data;
725 725
726 unsigned short char_code = p->_char_code; 726 unsigned short char_code = p->_char_code;
727 unsigned char tmp[2];
728 int fd; 727 int fd;
729 728
730 lock_font_handle(pf->handle, true); 729 lock_font_handle(pf->handle, true);
@@ -755,11 +754,14 @@ load_cache_entry(struct font_cache_entry* p, void* callback_data)
755 else 754 else
756 fd = pf->fd; 755 fd = pf->fd;
757 lseek(fd, offset, SEEK_SET); 756 lseek(fd, offset, SEEK_SET);
758 read (fd, tmp, 2); 757 unsigned char tmp[2];
759 bitmap_offset = tmp[0] | (tmp[1] << 8); 758 if (read (fd, tmp, 2) == 2)
760 if (pf->long_offset) { 759 {
761 read (fd, tmp, 2); 760 bitmap_offset = tmp[0] | (tmp[1] << 8);
762 bitmap_offset |= (tmp[0] << 16) | (tmp[1] << 24); 761 if (pf->long_offset) {
762 if (read (fd, tmp, 2) == 2)
763 bitmap_offset |= (tmp[0] << 16) | (tmp[1] << 24);
764 }
763 } 765 }
764 } 766 }
765 else 767 else