diff --git a/src/connection.c b/src/connection.c index 6535c804..9e036848 100644 --- a/src/connection.c +++ b/src/connection.c @@ -464,11 +464,14 @@ static void process_request_queue (void) } } - if (len > 0) { + if (len > 0 || node->shoutcast > 1) { ssize_t stream_offset = -1; int pass_it = 1; char *ptr; + if (len < 0 && node->shoutcast > 1) + len = 0; + /* handle \n, \r\n and nsvcap which for some strange reason has * EOL as \r\r\n */ node->offset += len;