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;
}