summaryrefslogtreecommitdiff
path: root/firmware/font.c
diff options
context:
space:
mode:
authorFred Bauer <fred.w.bauer@gmail.com>2011-09-29 03:15:27 +0000
committerFred Bauer <fred.w.bauer@gmail.com>2011-09-29 03:15:27 +0000
commit205ef12b9d503c1fedd5534dab9a8f5fe49798f7 (patch)
tree46b2087700a8960e05998ee875d55119691e8c65 /firmware/font.c
parentd20328609d1f8096c619877230d858b4d832beeb (diff)
downloadrockbox-205ef12b9d503c1fedd5534dab9a8f5fe49798f7.tar.gz
rockbox-205ef12b9d503c1fedd5534dab9a8f5fe49798f7.zip
font_load(): Reduce font memory allocation to the font's file size if less than MAX_FONT_SIZE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30618 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/font.c')
-rw-r--r--firmware/font.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/firmware/font.c b/firmware/font.c
index e6f90e4ca5..a8d8786259 100644
--- a/firmware/font.c
+++ b/firmware/font.c
@@ -550,7 +550,14 @@ int font_load_ex(const char *path, size_t buffer_size)
550} 550}
551int font_load(const char *path) 551int font_load(const char *path)
552{ 552{
553 return font_load_ex(path, MAX_FONT_SIZE); 553 int size;
554 int fd = open( path, O_RDONLY );
555 if ( fd < 0 )
556 return -1;
557 size = filesize(fd);
558 if (size > MAX_FONT_SIZE)
559 size = MAX_FONT_SIZE;
560 return font_load_ex(path, size);
554} 561}
555 562
556void font_unload(int font_id) 563void font_unload(int font_id)