diff options
| author | Magnus Holmgren <magnushol@gmail.com> | 2010-09-26 11:58:58 +0000 |
|---|---|---|
| committer | Magnus Holmgren <magnushol@gmail.com> | 2010-09-26 11:58:58 +0000 |
| commit | 927a7bdb4b91d3a63f014824711f796e5eb4c5ba (patch) | |
| tree | d0471561fe92e3da1315f194f72815054ce3f9e4 | |
| parent | 51321cc6f8bffa0246406fb5113de5f7c1970471 (diff) | |
| download | rockbox-927a7bdb4b91d3a63f014824711f796e5eb4c5ba.zip rockbox-927a7bdb4b91d3a63f014824711f796e5eb4c5ba.tar.gz rockbox-927a7bdb4b91d3a63f014824711f796e5eb4c5ba.tar.bz2 rockbox-927a7bdb4b91d3a63f014824711f796e5eb4c5ba.tar.xz | |
Make sure get_lif_token_value isn't inlined, as it would defeat the purpose of introducing that function. E.g., gcc 3.4.6 for m68k is keen on inlining code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28172 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index df4e7d9..19a5ba5 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c @@ -70,6 +70,8 @@ #include "tuner.h" #endif +#define NOINLINE __attribute__ ((noinline)) + extern struct wps_state wps_state; static const char* get_codectype(const struct mp3entry* id3) @@ -552,9 +554,13 @@ static struct mp3entry* get_mp3entry_from_offset(int offset, char **filename) return pid3; } -static const char* get_lif_token_value(struct gui_wps *gwps, - struct logical_if *lif, - int offset, char *buf, int buf_size) +/* Don't inline this; it was broken out of get_token_value to reduce stack + * usage. + */ +static const char* NOINLINE get_lif_token_value(struct gui_wps *gwps, + struct logical_if *lif, + int offset, char *buf, + int buf_size) { int a = lif->num_options; int b; |