diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/plugins/lastfm_scrobbler.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/apps/plugins/lastfm_scrobbler.c b/apps/plugins/lastfm_scrobbler.c index 02a6bedd9f..7f424d8aca 100644 --- a/apps/plugins/lastfm_scrobbler.c +++ b/apps/plugins/lastfm_scrobbler.c | |||
@@ -317,6 +317,11 @@ static void scrobbler_flush_callback(void) | |||
317 | } | 317 | } |
318 | #endif | 318 | #endif |
319 | 319 | ||
320 | static inline char* str_chk_valid(char *s, char *alt) | ||
321 | { | ||
322 | return (s != NULL ? s : alt); | ||
323 | } | ||
324 | |||
320 | static void scrobbler_add_to_cache(const struct mp3entry *id) | 325 | static void scrobbler_add_to_cache(const struct mp3entry *id) |
321 | { | 326 | { |
322 | if ( gCache.pos >= SCROBBLER_MAX_CACHE ) | 327 | if ( gCache.pos >= SCROBBLER_MAX_CACHE ) |
@@ -335,17 +340,19 @@ static void scrobbler_add_to_cache(const struct mp3entry *id) | |||
335 | if (id->tracknum > 0) | 340 | if (id->tracknum > 0) |
336 | rb->snprintf(tracknum, sizeof (tracknum), "%d", id->tracknum); | 341 | rb->snprintf(tracknum, sizeof (tracknum), "%d", id->tracknum); |
337 | 342 | ||
343 | char* artist = id->artist ? id->artist : id->albumartist; | ||
344 | |||
338 | int ret = rb->snprintf(&scrobbler_buf[(SCROBBLER_CACHE_LEN*gCache.pos)], | 345 | int ret = rb->snprintf(&scrobbler_buf[(SCROBBLER_CACHE_LEN*gCache.pos)], |
339 | SCROBBLER_CACHE_LEN, | 346 | SCROBBLER_CACHE_LEN, |
340 | "%s\t%s\t%s\t%s\t%d\t%c\t%ld\t%s\n", | 347 | "%s\t%s\t%s\t%s\t%d\t%c\t%ld\t%s\n", |
341 | id->artist ? id->artist : id->albumartist, | 348 | str_chk_valid(artist, UNTAGGED), |
342 | id->album, | 349 | str_chk_valid(id->album, ""), |
343 | id->title, | 350 | str_chk_valid(id->title, ""), |
344 | tracknum, | 351 | tracknum, |
345 | (int)(id->length / 1000), | 352 | (int)(id->length / 1000), |
346 | rating, | 353 | rating, |
347 | get_timestamp(), | 354 | get_timestamp(), |
348 | id->mb_track_id); | 355 | str_chk_valid(id->mb_track_id, "")); |
349 | 356 | ||
350 | if ( ret >= SCROBBLER_CACHE_LEN ) | 357 | if ( ret >= SCROBBLER_CACHE_LEN ) |
351 | { | 358 | { |