summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2013-02-21 21:13:08 +1100
committerJonathan Gordon <rockbox@jdgordon.info>2013-02-21 21:14:58 +1100
commita395a346719908e7d02ab7a742eb2b938dcc893d (patch)
tree67b9b0774583d1ff654c2a8ea6e7331dfae6b5c5
parentee758c5a97f8755e5f2ae2583ce757201450c106 (diff)
downloadrockbox-a395a346719908e7d02ab7a742eb2b938dcc893d.tar.gz
rockbox-a395a346719908e7d02ab7a742eb2b938dcc893d.zip
skin tags: fix the id3 track/disc numbers in conditionals
Fix the %in tag so %xd(a, %in) works as expected Change-Id: I33dd3ae092a66b1363c9cf3afa08075e4534af7c
-rw-r--r--apps/gui/skin_engine/skin_tokens.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/apps/gui/skin_engine/skin_tokens.c b/apps/gui/skin_engine/skin_tokens.c
index e58393e19c..33ffc53a9c 100644
--- a/apps/gui/skin_engine/skin_tokens.c
+++ b/apps/gui/skin_engine/skin_tokens.c
@@ -254,17 +254,27 @@ const char *get_id3_token(struct wps_token *token, struct mp3entry *id3,
254 case SKIN_TOKEN_METADATA_GENRE: 254 case SKIN_TOKEN_METADATA_GENRE:
255 return id3->genre_string; 255 return id3->genre_string;
256 case SKIN_TOKEN_METADATA_DISC_NUMBER: 256 case SKIN_TOKEN_METADATA_DISC_NUMBER:
257 if (id3->disc_string) 257 if (id3->disc_string) {
258 if (intval)
259 *intval = atoi(id3->disc_string);
258 return id3->disc_string; 260 return id3->disc_string;
261 }
259 if (id3->discnum) { 262 if (id3->discnum) {
263 if (intval)
264 *intval = id3->discnum;
260 snprintf(buf, buf_size, "%d", id3->discnum); 265 snprintf(buf, buf_size, "%d", id3->discnum);
261 return buf; 266 return buf;
262 } 267 }
263 return NULL; 268 return NULL;
264 case SKIN_TOKEN_METADATA_TRACK_NUMBER: 269 case SKIN_TOKEN_METADATA_TRACK_NUMBER:
265 if (id3->track_string) 270 if (id3->track_string) {
271 if (intval)
272 *intval = atoi(id3->track_string);
266 return id3->track_string; 273 return id3->track_string;
274 }
267 if (id3->tracknum) { 275 if (id3->tracknum) {
276 if (intval)
277 *intval = id3->tracknum;
268 snprintf(buf, buf_size, "%d", id3->tracknum); 278 snprintf(buf, buf_size, "%d", id3->tracknum);
269 return buf; 279 return buf;
270 } 280 }