/* Read some data into buffer. */
if (!feof(pkg->priv->f)) {
rc = fread(buf+nbuf, 1, sizeof buf-nbuf, pkg->priv->f);
- if (rc == 0)
+ if (rc == 0 && nbuf == 0)
goto err;
nbuf += rc;
}
/* Read some data into buffer. */
if (!feof(pkg->priv->f)) {
rc = fread(buf+nbuf, 1, sizeof buf-nbuf, pkg->priv->f);
- if (rc == 0)
+ if (rc == 0 && nbuf == 0)
goto err;
nbuf += rc;
}
/* Read some data into buffer. */
if (!feof(pkg->priv->f)) {
rc = fread(buf+nbuf, 1, sizeof buf-nbuf, pkg->priv->f);
- if (rc == 0)
+ if (rc == 0 && nbuf == 0)
goto err;
nbuf += rc;
}
void *buf = priv->buf + priv->nbuf;
size_t amt = sizeof priv->buf - priv->nbuf;
rc = upkg_export_read(f, buf, amt);
- if (rc == 0)
+ if (rc == 0 && priv->nbuf == 0)
return -1;
priv->nbuf += rc;
}