1
0
Fork 0
forked from len0rd/rockbox

Use filesize instead of lseek to find the size of a file. Reduces disk access and improves font loading time.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9792 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Dischner 2006-04-24 16:02:44 +00:00
parent 38ae72ac1e
commit bf64c45148
2 changed files with 5 additions and 7 deletions

View file

@ -62,8 +62,7 @@ int load_cp_table(int cp)
return 0;
}
tablesize = lseek(file, 0, SEEK_END) / 2;
lseek(file, 0, SEEK_SET);
tablesize = filesize(file) / 2;
if (tablesize > MAX_CP_TABLE_SIZE) {
DEBUGF("Invalid codepage file: %s.cp\n", filename[table-1]);

View file

@ -283,7 +283,7 @@ struct font* font_load_cached(struct font* pf)
/* read and load font into incore font structure*/
struct font* font_load(const char *path)
{
int filesize;
int size;
struct font* pf = &font_ui;
/* save loaded glyphs */
@ -302,8 +302,7 @@ struct font* font_load(const char *path)
}
/* Check file size */
filesize = lseek(fnt_file, 0, SEEK_END);
lseek(fnt_file, 0, SEEK_SET);
size = filesize(fnt_file);
font_reset();
@ -312,7 +311,7 @@ struct font* font_load(const char *path)
fileptr = freeptr;
if (filesize > MAX_FONT_SIZE)
if (size > MAX_FONT_SIZE)
{
read(fnt_file, fileptr, FONT_HEADER_SIZE);
eofptr = fileptr + FONT_HEADER_SIZE;
@ -334,7 +333,7 @@ struct font* font_load(const char *path)
else
{
read(fnt_file, fileptr, MAX_FONT_SIZE);
eofptr = fileptr + filesize;
eofptr = fileptr + size;
close(fnt_file);
fnt_file = -1;