diff options
author | Martin Matuska <mm@FreeBSD.org> | 2012-02-09 19:13:36 +0000 |
---|---|---|
committer | Martin Matuska <mm@FreeBSD.org> | 2012-02-09 19:13:36 +0000 |
commit | 4d44c8d1829cfdaa134c3f88cad04f0c73b47ad8 (patch) | |
tree | 02e7b67dbf1852d01e12499cb10c8e3a960c2038 /libarchive/archive_read_disk_posix.c | |
parent | bfd7accf016895bfc7c0af369106f52e0ca32e79 (diff) | |
download | src-4d44c8d1829cfdaa134c3f88cad04f0c73b47ad8.tar.gz src-4d44c8d1829cfdaa134c3f88cad04f0c73b47ad8.zip |
Notes
Diffstat (limited to 'libarchive/archive_read_disk_posix.c')
-rw-r--r-- | libarchive/archive_read_disk_posix.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libarchive/archive_read_disk_posix.c b/libarchive/archive_read_disk_posix.c index b81ab30fe719..dd03ceebaa2c 100644 --- a/libarchive/archive_read_disk_posix.c +++ b/libarchive/archive_read_disk_posix.c @@ -2214,7 +2214,8 @@ tree_target_is_same_as_parent(struct tree *t, const struct stat *st) struct tree_entry *te; for (te = t->current->parent; te != NULL; te = te->parent) { - if (te->dev == st->st_dev && te->ino == st->st_ino) + if (te->dev == (int64_t)st->st_dev && + te->ino == (int64_t)st->st_ino) return (1); } return (0); @@ -2231,7 +2232,8 @@ tree_current_is_symblic_link_target(struct tree *t) lst = tree_current_lstat(t); st = tree_current_stat(t); - return (st != NULL && st->st_dev == t->current_filesystem->dev && + return (st != NULL && + (int64_t)st->st_dev == t->current_filesystem->dev && st->st_dev != lst->st_dev); } |