if(r < 0) {
if(errno != EINTR)
fatal(errno, "error reading header");
- } else if(r == 0)
- fatal(0, "EOF reading header");
- else
+ } else if(r == 0) {
+ if(n)
+ fatal(0, "EOF reading header");
+ break;
+ } else
n += r;
}
+ if(!n)
+ break;
/* Sanity check the header */
if(header.rate < 100 || header.rate > 1000000)
fatal(0, "implausible rate %"PRId32"Hz (%#"PRIx32")",