diff options
author | Daniel Stenberg <daniel@haxx.se> | 2002-09-24 12:48:23 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2002-09-24 12:48:23 +0000 |
commit | 571e8a26e0360f30ad7dec3a59d96fcf784345ec (patch) | |
tree | c6edcfa6dfd6dc5418700bd88d223eeba3789dc5 /apps/language.c | |
parent | 869c952ea3f9e58334475a7870f7543b1adc47bf (diff) | |
download | rockbox-571e8a26e0360f30ad7dec3a59d96fcf784345ec.tar.gz rockbox-571e8a26e0360f30ad7dec3a59d96fcf784345ec.zip |
code-policed my own code ;-)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2393 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/language.c')
-rw-r--r-- | apps/language.c | 57 |
1 files changed, 28 insertions, 29 deletions
diff --git a/apps/language.c b/apps/language.c index a4b2b0dabc..614a4869d5 100644 --- a/apps/language.c +++ b/apps/language.c | |||
@@ -27,44 +27,43 @@ static unsigned char language_buffer[MAX_LANGUAGE_SIZE]; | |||
27 | 27 | ||
28 | void lang_load(char *filename) | 28 | void lang_load(char *filename) |
29 | { | 29 | { |
30 | int filesize; | 30 | int filesize; |
31 | int fd = open(filename, O_RDONLY); | 31 | int fd = open(filename, O_RDONLY); |
32 | if(fd == -1) | 32 | if(fd == -1) |
33 | return; | 33 | return; |
34 | filesize = read(fd, language_buffer, MAX_LANGUAGE_SIZE); | 34 | filesize = read(fd, language_buffer, MAX_LANGUAGE_SIZE); |
35 | if(filesize != MAX_LANGUAGE_SIZE) { | 35 | if(filesize != MAX_LANGUAGE_SIZE) { |
36 | if((language_buffer[0] == LANGUAGE_COOKIE) && | 36 | if((language_buffer[0] == LANGUAGE_COOKIE) && |
37 | (language_buffer[1] == LANGUAGE_VERSION)) { | 37 | (language_buffer[1] == LANGUAGE_VERSION)) { |
38 | unsigned char *ptr=&language_buffer[2]; | 38 | unsigned char *ptr=&language_buffer[2]; |
39 | int id; | 39 | int id; |
40 | filesize-=2; | 40 | filesize-=2; |
41 | 41 | ||
42 | while(filesize>3) { | 42 | while(filesize>3) { |
43 | id = (ptr[0]<<8) | ptr[1]; | 43 | id = (ptr[0]<<8) | ptr[1]; |
44 | ptr+=2; | 44 | ptr+=2; |
45 | language_strings[id] = ptr; | 45 | language_strings[id] = ptr; |
46 | while(*ptr) { | 46 | while(*ptr) { |
47 | filesize--; | 47 | filesize--; |
48 | ptr++; | 48 | ptr++; |
49 | } | ||
50 | filesize-=3; | ||
51 | ptr++; /* pass the terminating newline */ | ||
52 | } | ||
53 | } | ||
54 | else { | ||
55 | DEBUGF("Illegal language file\n"); | ||
49 | } | 56 | } |
50 | filesize-=3; | ||
51 | ptr++; /* pass the terminating newline */ | ||
52 | } | ||
53 | |||
54 | } | 57 | } |
55 | else { | 58 | else { |
56 | DEBUGF("Illegal language file\n"); | 59 | DEBUGF("Language %s too large: %d\n", filename, filesize); |
57 | } | 60 | } |
58 | } | 61 | close(fd); |
59 | else { | ||
60 | DEBUGF("Language %s too large: %d\n", filename, filesize); | ||
61 | } | ||
62 | close(fd); | ||
63 | } | 62 | } |
64 | 63 | ||
65 | /* ----------------------------------------------------------------- | 64 | /* ----------------------------------------------------------------- |
66 | * local variables: | 65 | * local variables: |
67 | * eval: (load-file "../firmware/rockbox-mode.el") | 66 | * eval: (load-file "../firmware/rockbox-mode.el") |
68 | * vim: et sw=4 ts=8 sts=4 tw=78 | ||
69 | * end: | 67 | * end: |
68 | * vim: et sw=4 ts=8 sts=4 tw=78 | ||
70 | */ | 69 | */ |