summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2024-12-08 00:26:48 -0500
committerWilliam Wilgus <me.theuser@yahoo.com>2024-12-08 00:28:16 -0500
commitebd1021fe4730f41c13efb8f96a0e027f9e5f62f (patch)
treef4e4483a1fae461ceae32007dc109942e6168f42
parentb14056e90fb86a5494fb70ab3632c2aef1c91e96 (diff)
downloadrockbox-ebd1021fe4.tar.gz
rockbox-ebd1021fe4.zip
[Bugfix] Pt doesn't return length of the next track
fix yellow in mp3_encoder Change-Id: I1658250141d3ea00b56da0258e111ca76aa56b53
-rw-r--r--apps/gui/skin_engine/skin_parser.c3
-rw-r--r--apps/plugins/mp3_encoder.c2
-rw-r--r--lib/skin_parser/tag_table.c1
-rw-r--r--utils/skinupdater/tag_table.c1
4 files changed, 6 insertions, 1 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index dbd39edebc..c9931d5b29 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -2546,6 +2546,9 @@ static int skin_element_callback(struct skin_element* element, void* data)
if ( *(element->tag->name) == 'I' || *(element->tag->name) == 'F' ||
*(element->tag->name) == 'D')
token->next = true;
+ else if ( token->type == SKIN_TOKEN_TRACK_LENGTH && *(element->tag->name) == 'P')
+ token->next = true;
+
if (follow_lang_direction > 0 )
follow_lang_direction--;
break;
diff --git a/apps/plugins/mp3_encoder.c b/apps/plugins/mp3_encoder.c
index ee99e8341c..00e18dc835 100644
--- a/apps/plugins/mp3_encoder.c
+++ b/apps/plugins/mp3_encoder.c
@@ -1107,7 +1107,7 @@ int HuffmanCod1( short *ix, char *xr_sign, uint32_t begin, uint32_t end, int tbl
case 14: l=3; s = (sgnv << 2) + (sgnw << 1) + sgnx; break;
case 15: l=4; s = (sgnv << 3) + (sgnw << 2) + (sgnx << 1) + sgny; break;
default: /* bug fix */
- rb->splashf(HZ * 2, "bad input %d < or > array bounds", p);
+ rb->splashf(HZ * 2, "bad input %lu < or > array bounds", (unsigned long)p);
return 0;
}
diff --git a/lib/skin_parser/tag_table.c b/lib/skin_parser/tag_table.c
index 268c963e5b..a337d2af83 100644
--- a/lib/skin_parser/tag_table.c
+++ b/lib/skin_parser/tag_table.c
@@ -159,6 +159,7 @@ static const struct tag_info legal_tags[] =
TAG(SKIN_TOKEN_TRACK_TIME_ELAPSED, "pc", "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_TRACK_TIME_REMAINING, "pr", "", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_TRACK_LENGTH, "pt", "", SKIN_REFRESH_STATIC),
+ TAG(SKIN_TOKEN_TRACK_LENGTH, "Pt", "", SKIN_REFRESH_STATIC),
TAG(SKIN_TOKEN_TRACK_STARTING, "pS" , "|D", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_TRACK_ENDING, "pE" , "|D", SKIN_REFRESH_DYNAMIC),
TAG(SKIN_TOKEN_PLAYLIST_POSITION, "pp", "", SKIN_REFRESH_STATIC),
diff --git a/utils/skinupdater/tag_table.c b/utils/skinupdater/tag_table.c
index 041856f3e9..a777880560 100644
--- a/utils/skinupdater/tag_table.c
+++ b/utils/skinupdater/tag_table.c
@@ -132,6 +132,7 @@ struct tag_info legal_tags[] =
{ "pc", "" },
{ "pr", "" },
{ "pt", "" },
+ { "Pt", "" },
{ "pS" , "|I"},
{ "pE" , "|I"},
{ "pp", "" },