Index: server/Slim/Web/RemoteStream.pm =================================================================== RCS file: /cvsroot/slim/server/Slim/Web/RemoteStream.pm,v retrieving revision 1.24 diff -u -d -r1.24 RemoteStream.pm --- server/Slim/Web/RemoteStream.pm 22 Apr 2004 20:41:09 -0000 1.24 +++ server/Slim/Web/RemoteStream.pm 9 Jun 2004 10:14:27 -0000 @@ -216,17 +216,22 @@ do { $byteRead = $handle->sysread($metadatapart, $metadataSize); + $byteRead = 0 if (!defined($byteRead)); if ($!) { if ($! ne "Unknown error" && $! != EWOULDBLOCK) { $::d_remotestream && msg("Metadata bytes not read! $!\n"); return; } else { - $::d_remotestream && msg("Metadata bytes not read, trying again: $!\n"); + $::d_remotestream && msg("Metadata bytes not read, trying again: $!, byteRead = $byteRead, part = '$metadatapart'\n"); } } - $byteRead = 0 if (!defined($byteRead)); - $metadataSize -= $byteRead; - $metadata .= $metadatapart; + if ($::d_remotestream && length($metadatapart) != $byteRead) { + msg("Metadata: Bad byteRead = $byteRead, should be ".length($metadatapart)." for '$metadatapart'\n"); + } + if ($byteRead > 0) { + $metadataSize -= $byteRead; + $metadata .= substr($metadatapart, 0, $byteRead); + } } while ($metadataSize > 0); $::d_remotestream && msg("metadata: $metadata\n");