(flags & SAME_GID) ? last_gid : (gid_t) read_int(f);
if (preserve_devices && IS_DEVICE(file->mode))
file->rdev =
- (flags & SAME_RDEV) ? last_rdev : (dev_t) read_int(f);
+ (flags & SAME_RDEV) ? last_rdev : (DEV64_T) read_int(f);
if (preserve_links && S_ISLNK(file->mode)) {
int l = read_int(f);
{
int low = 0, high = flist->count - 1;
- if (flist->count <= 0)
+ while (high >= 0 && !flist->files[high]->basename) high--;
+
+ if (high < 0)
return -1;
while (low != high) {