diff options
author | William Wilgus <wilgus.william@gmail.com> | 2021-10-12 01:58:37 -0400 |
---|---|---|
committer | William Wilgus <me.theuser@yahoo.com> | 2021-10-13 18:02:19 -0400 |
commit | 6fb942d8ff843444cbade57278de6e6687337fd6 (patch) | |
tree | 420eae42ace4750118acdf81d6712bd32dde380e /apps/gui/skin_engine/skin_tokens.c | |
parent | e0468074fea65a023274417815a310e5e9017661 (diff) | |
download | rockbox-6fb942d8ff843444cbade57278de6e6687337fd6.tar.gz rockbox-6fb942d8ff843444cbade57278de6e6687337fd6.zip |
skin engine - fail gracefully when %Sx is used on non lang id string
CheckWPS doesn't catch errors involving translated strings
Instead of breaking old themes when the langids no long exist
return "<ERR>"
Change-Id: I0d744cd48bb5a27e735fce3f6f740450d1f6a55a
Diffstat (limited to 'apps/gui/skin_engine/skin_tokens.c')
-rw-r--r-- | apps/gui/skin_engine/skin_tokens.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c index a0de45d3e3..a4c9af7539 100644 --- a/apps/gui/skin_engine/skin_tokens.c +++ b/apps/gui/skin_engine/skin_tokens.c | |||
@@ -821,7 +821,8 @@ const char *get_token_value(struct gui_wps *gwps, | |||
821 | return (char*)SKINOFFSETTOPTR(get_skin_buffer(data), token->value.data); | 821 | return (char*)SKINOFFSETTOPTR(get_skin_buffer(data), token->value.data); |
822 | 822 | ||
823 | case SKIN_TOKEN_TRANSLATEDSTRING: | 823 | case SKIN_TOKEN_TRANSLATEDSTRING: |
824 | return (char*)P2STR(ID2P(token->value.i)); | 824 | return token->value.i < LANG_LAST_INDEX_IN_ARRAY ? |
825 | (char*)P2STR(ID2P(token->value.i)) : "<ERR>"; | ||
825 | 826 | ||
826 | case SKIN_TOKEN_PLAYLIST_ENTRIES: | 827 | case SKIN_TOKEN_PLAYLIST_ENTRIES: |
827 | numeric_ret = playlist_amount(); | 828 | numeric_ret = playlist_amount(); |