Blob Blame History Raw
diff -Nur audacious-plugins-2.2-orig/src/neon/neon.c audacious-plugins-2.2/src/neon/neon.c
--- audacious-plugins-2.2-orig/src/neon/neon.c	2009-11-22 23:49:53.000000000 +0100
+++ audacious-plugins-2.2/src/neon/neon.c	2010-09-13 18:37:53.000000000 +0200
@@ -963,6 +963,9 @@
     gchar icy_metadata[NEON_ICY_BUFSIZE];
     guchar icy_metalen;
 
+    if (h->eof)
+        return 0;
+
     _ENTER;
 
     if (NULL == h->request) {
@@ -1318,6 +1321,11 @@
             newpos = h->pos + offset;
             break;
         case SEEK_END:
+            if (offset == 0) {
+                h->pos = content_length;
+                h->eof = TRUE;
+                return 0;
+            }
             newpos = content_length + offset;
             break;
         default:
@@ -1374,6 +1382,7 @@
      * Things seem to have worked. The next read request will start
      * the reader thread again.
      */
+    h->eof = FALSE;
 
     _LEAVE 0;
 }