mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-11-28 06:52:45 +00:00
Use ino64 interface.
This commit is contained in:
parent
2b1f175936
commit
09bf59d4b9
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=201100
@ -249,7 +249,7 @@ find_entry(struct archive_entry_linkresolver *res,
|
||||
struct links_entry *le;
|
||||
int hash, bucket;
|
||||
dev_t dev;
|
||||
ino_t ino;
|
||||
int64_t ino;
|
||||
|
||||
/* Free a held entry. */
|
||||
if (res->spare != NULL) {
|
||||
@ -264,15 +264,15 @@ find_entry(struct archive_entry_linkresolver *res,
|
||||
return (NULL);
|
||||
|
||||
dev = archive_entry_dev(entry);
|
||||
ino = archive_entry_ino(entry);
|
||||
hash = dev ^ ino;
|
||||
ino = archive_entry_ino64(entry);
|
||||
hash = (int)(dev ^ ino);
|
||||
|
||||
/* Try to locate this entry in the links cache. */
|
||||
bucket = hash % res->number_buckets;
|
||||
for (le = res->buckets[bucket]; le != NULL; le = le->next) {
|
||||
if (le->hash == hash
|
||||
&& dev == archive_entry_dev(le->canonical)
|
||||
&& ino == archive_entry_ino(le->canonical)) {
|
||||
&& ino == archive_entry_ino64(le->canonical)) {
|
||||
/*
|
||||
* Decrement link count each time and release
|
||||
* the entry if it hits zero. This saves
|
||||
@ -350,7 +350,7 @@ insert_entry(struct archive_entry_linkresolver *res,
|
||||
if (res->number_entries > res->number_buckets * 2)
|
||||
grow_hash(res);
|
||||
|
||||
hash = archive_entry_dev(entry) ^ archive_entry_ino(entry);
|
||||
hash = archive_entry_dev(entry) ^ archive_entry_ino64(entry);
|
||||
bucket = hash % res->number_buckets;
|
||||
|
||||
/* If we could allocate the entry, record it. */
|
||||
|
@ -72,7 +72,7 @@ archive_entry_stat(struct archive_entry *entry)
|
||||
st->st_dev = archive_entry_dev(entry);
|
||||
st->st_gid = archive_entry_gid(entry);
|
||||
st->st_uid = archive_entry_uid(entry);
|
||||
st->st_ino = archive_entry_ino(entry);
|
||||
st->st_ino = archive_entry_ino64(entry);
|
||||
st->st_nlink = archive_entry_nlink(entry);
|
||||
st->st_rdev = archive_entry_rdev(entry);
|
||||
st->st_size = archive_entry_size(entry);
|
||||
|
Loading…
Reference in New Issue
Block a user