Code

2 critical bugs in leoslyrics lyrics src fixed
authorAndreas Obergrusberger <tradiaz@yahoo.de>
Sun, 17 Jun 2007 12:19:39 +0000 (12:19 +0000)
committerAndreas Obergrusberger <tradiaz@yahoo.de>
Sun, 17 Jun 2007 12:19:39 +0000 (12:19 +0000)
git-svn-id: https://svn.musicpd.org/ncmpc/branches/tradiaz@6630 09075e82-0dd4-0310-85a5-a0d7c8717e4f

ChangeLog
configure.ac
plugins/leoslyrics/lyrics_leoslyrics.c
src/lyrics_leoslyrics.c

index 715a4ca822aa2fc49f9f835efc0622365d62c36f..4ff8da5ef3492722d36ceb4267c67c85fea03c13 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,5 @@
+2007-06-17 Andreas Obergrusberger <tradiaz@yahoo.de>
+       * two critical bugs in leoslyrics source have been fixed
 2007-02-16 Andreas Obergrusberger <tradiaz@yahoo.de>
   + nj has posted a lot of patches on the bug tracker
        * added the option to search for artist and title at the same time
index d24c4a558065efe963d812214efb65a937a79068..3ffc870097dd9a2e76052610acfe639514afaa4b 100644 (file)
@@ -449,3 +449,4 @@ AC_CONFIG_FILES([Makefile src/Makefile plugins/Makefile doc/Makefile po/Makefile
                plugins/hd/Makefile 
                plugins/leoslyrics/Makefile])
 AC_OUTPUT
+AC_MSG_WARN([TO BUILD AN INSTALL THE PLUGINS cd TO THE plugins DIRECTORY AND EXECUTE make && make install THERE])
index a62e47f05a52bee3228a662ed643e4eac29e2f2d..5bcb32242de596e2facaa445613746b981b84d4a 100644 (file)
@@ -50,7 +50,7 @@ static void check_search_response(void *data, const char *name,
                 {
                         if(strstr(atts[2], "hid") != NULL)
                         {
-                                hid = atts[3];
+                                hid = strdup (atts[3]);
                         }
         
                         if(strstr(atts[2], "exactMatch") != NULL)
@@ -120,6 +120,11 @@ int check_lyr_leoslyrics(char *artist, char *title, char *url)
         XML_ParserFree(parser);        
 
         if(!(result & 4)) return -1; //check whether lyrics found
+
+       CURL *curl = curl_easy_init ();
+       char *esc_hid = curl_easy_escape (curl, hid, 0);
+       free (hid);
+
         snprintf(url, 512, LEOSLYRICS_CONTENT_URL, hid);
 
         return 0;
index 3b85e68d3a9fbed2db8eaed7b3d95dedd660cf7a..4afb3fa7b5e9823b269df16500cb0bb01f1a4164 100644 (file)
@@ -50,7 +50,7 @@ static void check_search_response(void *data, const char *name,
                 {
                         if(strstr(atts[2], "hid") != NULL)
                         {
-                                hid = atts[3];
+                                hid = strdup (atts[3]);
                         }
         
                         if(strstr(atts[2], "exactMatch") != NULL)
@@ -120,7 +120,12 @@ int check_lyr_leoslyrics(char *artist, char *title, char *url)
         XML_ParserFree(parser);        
 
         if(!(result & 4)) return -1; //check whether lyrics found
-        snprintf(url, 512, LEOSLYRICS_CONTENT_URL, hid);
+
+       CURL *curl = curl_easy_init ();
+       char *esc_hid = curl_easy_escape (curl, hid, 0);
+       free (hid);
+
+        snprintf(url, 512, LEOSLYRICS_CONTENT_URL, esc_hid);
 
         return 0;
 }