forked from len0rd/rockbox
code-policed my own code ;-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2393 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
869c952ea3
commit
571e8a26e0
1 changed files with 28 additions and 29 deletions
|
|
@ -27,44 +27,43 @@ static unsigned char language_buffer[MAX_LANGUAGE_SIZE];
|
||||||
|
|
||||||
void lang_load(char *filename)
|
void lang_load(char *filename)
|
||||||
{
|
{
|
||||||
int filesize;
|
int filesize;
|
||||||
int fd = open(filename, O_RDONLY);
|
int fd = open(filename, O_RDONLY);
|
||||||
if(fd == -1)
|
if(fd == -1)
|
||||||
return;
|
return;
|
||||||
filesize = read(fd, language_buffer, MAX_LANGUAGE_SIZE);
|
filesize = read(fd, language_buffer, MAX_LANGUAGE_SIZE);
|
||||||
if(filesize != MAX_LANGUAGE_SIZE) {
|
if(filesize != MAX_LANGUAGE_SIZE) {
|
||||||
if((language_buffer[0] == LANGUAGE_COOKIE) &&
|
if((language_buffer[0] == LANGUAGE_COOKIE) &&
|
||||||
(language_buffer[1] == LANGUAGE_VERSION)) {
|
(language_buffer[1] == LANGUAGE_VERSION)) {
|
||||||
unsigned char *ptr=&language_buffer[2];
|
unsigned char *ptr=&language_buffer[2];
|
||||||
int id;
|
int id;
|
||||||
filesize-=2;
|
filesize-=2;
|
||||||
|
|
||||||
while(filesize>3) {
|
while(filesize>3) {
|
||||||
id = (ptr[0]<<8) | ptr[1];
|
id = (ptr[0]<<8) | ptr[1];
|
||||||
ptr+=2;
|
ptr+=2;
|
||||||
language_strings[id] = ptr;
|
language_strings[id] = ptr;
|
||||||
while(*ptr) {
|
while(*ptr) {
|
||||||
filesize--;
|
filesize--;
|
||||||
ptr++;
|
ptr++;
|
||||||
|
}
|
||||||
|
filesize-=3;
|
||||||
|
ptr++; /* pass the terminating newline */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
DEBUGF("Illegal language file\n");
|
||||||
}
|
}
|
||||||
filesize-=3;
|
|
||||||
ptr++; /* pass the terminating newline */
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
DEBUGF("Illegal language file\n");
|
DEBUGF("Language %s too large: %d\n", filename, filesize);
|
||||||
}
|
}
|
||||||
}
|
close(fd);
|
||||||
else {
|
|
||||||
DEBUGF("Language %s too large: %d\n", filename, filesize);
|
|
||||||
}
|
|
||||||
close(fd);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -----------------------------------------------------------------
|
/* -----------------------------------------------------------------
|
||||||
* local variables:
|
* local variables:
|
||||||
* eval: (load-file "../firmware/rockbox-mode.el")
|
* eval: (load-file "../firmware/rockbox-mode.el")
|
||||||
* vim: et sw=4 ts=8 sts=4 tw=78
|
|
||||||
* end:
|
* end:
|
||||||
|
* vim: et sw=4 ts=8 sts=4 tw=78
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue