summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/gui/skin_engine/skin_tokens.c12
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;