From 1546e677f4f0484402a2287f51f821b54fb345c3 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Tue, 22 Mar 2016 16:22:31 +0100 Subject: [PATCH 1/2] jamendo: Fix "format not a string literal" error --- src/jamendo/grl-jamendo.c | 86 +++++++++++++++++++++++++++++++++++------------ 1 file changed, 65 insertions(+), 21 deletions(-) diff --git a/src/jamendo/grl-jamendo.c b/src/jamendo/grl-jamendo.c index a58be4b..a0188ae 100644 --- a/src/jamendo/grl-jamendo.c +++ b/src/jamendo/grl-jamendo.c @@ -139,10 +139,12 @@ typedef struct { gboolean cancelled; } XmlParseEntries; +/* Note: you'll also need to update + * grl_jamendo_source_browse() */ struct Feeds { gchar *name; JamendoCategory cat; - gchar *url; + const gchar *url; } feeds[] = { { N_("Albums of the week"), JAMENDO_ALBUM_CAT, JAMENDO_GET_ALBUMS "&order=ratingweek_desc", }, @@ -1174,10 +1176,46 @@ grl_jamendo_source_browse (GrlSource *source, feed_id = atoi (container_split[1]); jamendo_keys = get_jamendo_keys (feeds[feed_id].cat); - url = g_strdup_printf (feeds[feed_id].url, - jamendo_keys, - page_size, - page_number); + switch (feed_id) { + case 0: + url = g_strdup_printf (JAMENDO_GET_ALBUMS "&order=ratingweek_desc", + jamendo_keys, + page_size, + page_number); + break; + case 1: + url = g_strdup_printf (JAMENDO_GET_TRACKS "&order=ratingweek_desc", + jamendo_keys, + page_size, + page_number); + break; + case 2: + url = g_strdup_printf (JAMENDO_GET_TRACKS "&order=releasedate_desc", + jamendo_keys, + page_size, + page_number); + break; + case 3: + url = g_strdup_printf (JAMENDO_GET_ARTISTS "&order=rating_desc", + jamendo_keys, + page_size, + page_number); + break; + case 4: + url = g_strdup_printf (JAMENDO_GET_ALBUMS "&order=rating_desc", + jamendo_keys, + page_size, + page_number); + break; + case 5: + url = g_strdup_printf (JAMENDO_GET_TRACKS "&order=rating_desc", + jamendo_keys, + page_size, + page_number); + break; + default: + g_assert_not_reached (); + } g_free (jamendo_keys); } else { send_feeds (bs); @@ -1234,7 +1272,6 @@ grl_jamendo_source_query (GrlSource *source, gchar *term = NULL; gchar *url; gchar *jamendo_keys = NULL; - gchar *query = NULL; XmlParseEntries *xpe = NULL; guint page_size; guint page_number; @@ -1252,33 +1289,40 @@ grl_jamendo_source_query (GrlSource *source, goto send_error; } + grl_paging_translate (skip, + count, + 0, + &page_size, + &page_number, + &page_offset); + jamendo_keys = get_jamendo_keys (category); switch (category) { case JAMENDO_ARTIST_CAT: - query = JAMENDO_SEARCH_ARTIST; + url = g_strdup_printf (JAMENDO_SEARCH_ARTIST, + jamendo_keys, + page_size, + page_number, + term); break; case JAMENDO_ALBUM_CAT: - query = JAMENDO_SEARCH_ALBUM; + url = g_strdup_printf (JAMENDO_SEARCH_ALBUM, + jamendo_keys, + page_size, + page_number, + term); break; case JAMENDO_TRACK_CAT: - query = JAMENDO_SEARCH_TRACK; + url = g_strdup_printf (JAMENDO_SEARCH_TRACK, + jamendo_keys, + page_size, + page_number, + term); break; default: g_return_if_reached (); } - grl_paging_translate (skip, - count, - 0, - &page_size, - &page_number, - &page_offset); - - url = g_strdup_printf (query, - jamendo_keys, - page_size, - page_number, - term); g_free (term); g_free (jamendo_keys); -- 2.5.0