/* 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;
}
len += rc;
if (nbuf-len < 4) goto err;
- export->package = unpack_32_le(buf+len);
+ export->package = unpack_s32_le(buf+len);
len += 4;
rc = upkg_decode_index(&tmp, buf+len, nbuf-len);
/* 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;
}
len += rc;
if (nbuf-len < 4) goto err;
- import->package = unpack_32_le(buf+len);
+ import->package = unpack_s32_le(buf+len);
len += 4;
rc = upkg_decode_index(&tmp, buf+len, nbuf-len);